%%
%% This is file `cleveref.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% cleveref.dtx  (with options: `package')
%% 
%% LaTeX package for automatic cross-referencing text.
%% 
%% Copyright (C) 2006  Toby Cubitt
%% See the files README and COPYING.
%% 
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.2
%% of this license or (at your option) any later version.
%% The latest version of this license is in:
%%
%%    http://www.latex-project.org/lppl.txt
%%
%% and version 1.2 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{cleveref}
 [2010/06/24 v0.17.1 Intelligent cross-referencing]
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
\def\cref@currentlabel{}
\let\cref@old@refstepcounter\refstepcounter
\def\refstepcounter{%
  \@ifnextchar[{\refstepcounter@optarg}{\refstepcounter@noarg}%]
}
\def\refstepcounter@noarg#1{%
  \cref@old@refstepcounter{#1}%
  \cref@constructprefix{#1}{\@result}%
  \@ifundefined{cref@#1@alias}%
    {\def\@tmpa{#1}}%
    {\def\@tmpa{\csname cref@#1@alias\endcsname}}%
  \protected@xdef\cref@currentlabel{%
    [\@tmpa][\arabic{#1}][\@result]%
    \csname p@#1\endcsname\csname the#1\endcsname}}
\def\refstepcounter@optarg[#1]#2{%
  \cref@old@refstepcounter{#2}%
  \cref@constructprefix{#2}{\@result}%
  \protected@xdef\cref@currentlabel{%
    [#1][\arabic{#2}][\@result]%
    \csname p@#2\endcsname\csname the#2\endcsname}}
\let\cref@old@footnotetext\@footnotetext
\let\cref@old@mpfootnotetext\@mpfootnotetext
\def\@footnotetext#1{%
  \cref@constructprefix{footnote}{\@result}%
  \protected@xdef\cref@currentlabel{%
    [footnote][\arabic{footnote}][\@result]\p@footnote\@thefnmark}%
  \cref@old@footnotetext{#1}}
\def\@mpfootnotetext#1{%
  \cref@constructprefix{mpfootnote}{\@result}%
  \protected@xdef\cref@currentlabel{%
    [footnote][\arabic{mpfootnote}][\@result]\p@footnote\@thefnmark}%
  \cref@old@mpfootnotetext{#1}}
\AtBeginDocument{%
  \let\cref@old@label\label
  \def\label{\@ifnextchar[\label@optarg\label@noarg}%]
  \def\label@noarg#1{%
    \@bsphack%
    \cref@old@label{#1}%
    \protected@write\@auxout{}%
      {\string\newlabel{cref@#1}{{\cref@currentlabel}{\thepage}}}%
    \@esphack}%
  \def\label@optarg[#1]#2{%
    \@bsphack%
    \cref@old@label{#2}%
    \protected@xdef\cref@currentlabel{%
      \expandafter\cref@override@label@type%
        \cref@currentlabel\@nil{#1}}%
    \protected@write\@auxout{}%
      {\string\newlabel{cref@#2}{{\cref@currentlabel}{\thepage}}}%
    \@esphack}%
  \@ifpackageloaded{amsmath}{%
    \let\cref@label\label
    \let\cref@old@label@in@display\label@in@display
    \def\label@in@display{%
      \@ifnextchar[\label@in@display@optarg\label@in@display@noarg}%]
    \def\label@in@display@noarg#1{\cref@old@label@in@display{{#1}}}
    \def\label@in@display@optarg[#1]#2{%
      \cref@old@label@in@display{[#1]{#2}}}
    \def\ltx@label#1{\cref@label#1}
\def\measure@#1{%
    \begingroup
        \measuring@true
        \global\eqnshift@\z@
        \global\alignsep@\z@
        \global\let\tag@lengths\@empty
        \global\let\field@lengths\@empty
        \savecounters@
        \global\setbox0\vbox{%
            \let\math@cr@@@\math@cr@@@align@measure
            \everycr{\noalign{\global\tag@false
              \global\let\raise@tag\@empty \global\column@\z@}}%
            \let\label\@gobble@optarg%  <<< cleveref modification
            \global\row@\z@
            \tabskip\z@
            \halign{\span\align@preamble\crcr
                #1%
                \math@cr@@@
                \global\column@\z@
                \add@amps\maxfields@\cr
            }%
        }%
        \restorecounters@
        \ifodd\maxfields@
            \global\advance\maxfields@\@ne
        \fi
        \ifnum\xatlevel@=\tw@
            \ifnum\maxfields@<\thr@@
                \let\xatlevel@\z@
            \fi
        \fi
        \setbox\z@\vbox{%
          \unvbox\z@ \unpenalty \global\setbox\@ne\lastbox
        }%
        \global\totwidth@\wd\@ne
        \if@fleqn \global\advance\totwidth@\@mathmargin \fi
        \global\let\maxcolumn@widths\@empty
        \begingroup
          \let\or\relax
          \loop
            \global\setbox\@ne\hbox{%
              \unhbox\@ne \unskip \global\setbox\thr@@\lastbox
            }%
          \ifhbox\thr@@
           \xdef\maxcolumn@widths{ \or \the\wd\thr@@ \maxcolumn@widths}%
          \repeat
        \endgroup
        \dimen@\displaywidth
        \advance\dimen@-\totwidth@
        \ifcase\xatlevel@
            \global\alignsep@\z@
            \let\minalignsep\z@
            \@tempcntb\z@
            \if@fleqn
                \@tempcnta\@ne
                \global\eqnshift@\@mathmargin
            \else
                \@tempcnta\tw@
                \global\eqnshift@\dimen@
                \global\divide\eqnshift@\@tempcnta
            \fi
        \or
            \@tempcntb\maxfields@
            \divide\@tempcntb\tw@
            \@tempcnta\@tempcntb
            \advance\@tempcntb\m@ne
            \if@fleqn
                \global\eqnshift@\@mathmargin
                \global\alignsep@\dimen@
                \global\divide\alignsep@\@tempcnta
            \else
                \global\advance\@tempcnta\@ne
                \global\eqnshift@\dimen@
                \global\divide\eqnshift@\@tempcnta
                \global\alignsep@\eqnshift@
            \fi
        \or
            \@tempcntb\maxfields@
            \divide\@tempcntb\tw@
            \global\advance\@tempcntb\m@ne
            \global\@tempcnta\@tempcntb
            \global\eqnshift@\z@
            \global\alignsep@\dimen@
            \if@fleqn
                \global\advance\alignsep@\@mathmargin\relax
            \fi
            \global\divide\alignsep@\@tempcntb
        \fi
        \ifdim\alignsep@<\minalignsep\relax
            \global\alignsep@\minalignsep\relax
            \ifdim\eqnshift@>\z@
                \if@fleqn\else
                    \global\eqnshift@\displaywidth
                    \global\advance\eqnshift@-\totwidth@
                    \global\advance\eqnshift@-\@tempcntb\alignsep@
                    \global\divide\eqnshift@\tw@
                \fi
            \fi
        \fi
        \ifdim\eqnshift@<\z@
            \global\eqnshift@\z@
        \fi
        \calc@shift@align
        \global\tagshift@\totwidth@
        \global\advance\tagshift@\@tempcntb\alignsep@
        \if@fleqn
            \ifnum\xatlevel@=\tw@
                \global\advance\tagshift@-\@mathmargin\relax
            \fi
        \else
            \global\advance\tagshift@\eqnshift@
        \fi
        \iftagsleft@ \else
            \global\advance\tagshift@-\displaywidth
        \fi
        \dimen@\minalignsep\relax
        \global\advance\totwidth@\@tempcntb\dimen@
        \ifdim\totwidth@>\displaywidth
            \global\let\displaywidth@\totwidth@
        \else
            \global\let\displaywidth@\displaywidth
        \fi
    \endgroup
}
\def\gmeasure@#1{%
    \begingroup
        \measuring@true
        \totwidth@\z@
        \global\let\tag@lengths\@empty
        \savecounters@
        \setbox\@ne\vbox{%
            \everycr{\noalign{\global\tag@false
              \global\let\raise@tag\@empty \global\column@\z@}}%
            \let\label\@gobble%  <<< cleveref modification
            \halign{%
                \setboxz@h{$\m@th\displaystyle{##}$}%
                \ifdim\wdz@>\totwidth@
                    \global\totwidth@\wdz@
                \fi
               &\setboxz@h{\strut@{##}}%
                \savetaglength@
                \crcr
                #1%
                \math@cr@@@
            }%
        }%
        \restorecounters@
        \if@fleqn
            \global\advance\totwidth@\@mathmargin
        \fi
        \iftagsleft@
            \ifdim\totwidth@>\displaywidth
                \global\let\gdisplaywidth@\totwidth@
            \else
                \global\let\gdisplaywidth@\displaywidth
            \fi
        \fi
    \endgroup
}
\def\multline@#1{%
    \Let@
    \@display@init{\global\advance\row@\@ne \global\dspbrk@lvl\m@ne}%
    \chardef\dspbrk@context\z@
    \restore@math@cr
    \let\tag\tag@in@align
    \global\tag@false \global\let\raise@tag\@empty
    \mmeasure@{#1}%
    \let\tag\gobble@tag \let\label\@gobble@optarg%  <<< cleveref modification
    \tabskip \if@fleqn \@mathmargin \else \z@skip \fi
    \totwidth@\displaywidth
    \if@fleqn
        \advance\totwidth@-\@mathmargin
    \fi
    \halign\bgroup
        \hbox to\totwidth@{%
            \if@fleqn
                \hskip \@centering \relax
            \else
                \hfil
            \fi
            \strut@
            $\m@th\displaystyle{}##\endmultline@math
            \hfil
        }% $
        \crcr
        \if@fleqn
            \hskip-\@mathmargin
            \def\multline@indent{\hskip\@mathmargin}%
        \else
            \hfilneg
            \def\multline@indent{\hskip\multlinegap}%
        \fi
        \iftagsleft@
            \iftag@
                \begingroup
                    \ifshifttag@
                        \rlap{\vbox{%
                                \normalbaselines
                                \hbox{%
                                    \strut@
                                    \make@display@tag
                                }%
                                \vbox to\lineht@{}%
                                \raise@tag
                        }}%
                        \multline@indent
                    \else
                        \setbox\z@\hbox{\make@display@tag}%
                        \dimen@\@mathmargin \advance\dimen@-\wd\z@
                        \ifdim\dimen@<\multlinetaggap
                          \dimen@\multlinetaggap
                        \fi
                        \box\z@ \hskip\dimen@\relax
                    \fi
                \endgroup
            \else
                \multline@indent
            \fi
        \else
            \multline@indent
        \fi
    #1%
}
\def\mmeasure@#1{%
    \begingroup
        \measuring@true
        \def\label{%                  <<< cleveref modification
          \@ifnextchar[\label@in@mmeasure@optarg%]
            \label@in@mmeasure@noarg}%
        \def\math@cr@@@{\cr}%
        \let\shoveleft\@iden \let\shoveright\@iden
        \savecounters@
        \global\row@\z@
        \setbox\@ne\vbox{%
            \global\let\df@tag\@empty
            \halign{%
                \setboxz@h{\@lign$\m@th\displaystyle{}##$}%
                \iftagsleft@
                    \ifnum\row@=\@ne
                        \global\totwidth@\wdz@
                        \global\lineht@\ht\z@
                    \fi
                \else
                    \global\totwidth@\wdz@
                    \global\lineht@\dp\z@
                \fi
                \crcr
                #1%
                \crcr
            }%
        }%
        \ifx\df@tag\@empty\else\global\tag@true\fi
        \if@eqnsw\global\tag@true\fi
        \iftag@
            \setboxz@h{%
                \if@eqnsw
                    \stepcounter{equation}%
                    \tagform@\theequation
                \else
                    \df@tag
                \fi
            }%
            \global\tagwidth@\wdz@
            \dimen@\totwidth@
            \advance\dimen@\tagwidth@
            \advance\dimen@\multlinetaggap
            \iftagsleft@\else
                \if@fleqn
                    \advance\dimen@\@mathmargin
                \fi
            \fi
            \ifdim\dimen@>\displaywidth
                \global\shifttag@true
            \else
                \global\shifttag@false
            \fi
        \fi
        \restorecounters@
    \endgroup
}
\def\label@in@mmeasure@noarg#1{%
  \begingroup%
    \measuring@false%
    \cref@old@label@in@display{{#1}}%
  \endgroup}
\def\label@in@mmeasure@optarg[#1]#2{%
  \begingroup%
    \measuring@false%
    \cref@old@label@in@display{[#1]{#2}}%
  \endgroup}
  \let\cref@old@subequations\subequations%
  \let\cref@old@endsubequations\endsubequations%
  \cref@resetby{equation}{\@result}%
  \ifx\@result\relax\else%
    \@addtoreset{parentequation}{\@result}%
  \fi%
  \renewenvironment{subequations}{%
    \@addtoreset{equation}{parentequation}%
    \cref@old@subequations%
  }{%
    \gdef\cl@parentequation{}%
    \cref@old@endsubequations%
    \setcounter{parentequation}{0}%
  }%
    \def\make@df@tag@@#1{%
      \gdef\df@tag{\maketag@@@{#1}%
        \def\cref@currentlabel{[equation][2147483647][]#1}}}
    \def\make@df@tag@@@#1{%
      \gdef\df@tag{\tagform@{#1}%
        \toks@\@xp{\p@equation{#1}}%
          \edef\cref@currentlabel{[equation][2147483647][]\the\toks@}}}
  }{}%  end of \@ifpackageloaded{amsmath}
}%  end of AtBeginDocument
\let\cref@old@appendix\appendix
\renewcommand\appendix{%
  \cref@old@appendix%
  \@ifundefined{chapter}{%
    \gdef\refstepcounter@noarg##1{%
      \cref@old@refstepcounter{##1}%
      \cref@constructprefix{##1}{\@result}%
      \ifx\@result\@empty%
        \def\@result{2147483647}%
      \else%
        \edef\@result{2147483647,\@result}%
      \fi%
      \def\@tmpa{##1}%
      \def\@tmpb{section}%
      \ifx\@tmpa\@tmpb%
        \protected@xdef\cref@currentlabel{%
          [appendix][\arabic{##1}][\@result]%
          \csname p@##1\endcsname\csname the##1\endcsname}%
      \else%
        \def\@tmpa{##1}%
        \def\@tmpb{subsection}%
        \ifx\@tmpa\@tmpb%
          \protected@xdef\cref@currentlabel{%
            [subappendix][\arabic{##1}][\@result]%
            \csname p@##1\endcsname\csname the##1\endcsname}%
        \else%
          \def\@tmpa{##1}%
          \def\@tmpb{subsubsection}%
          \ifx\@tmpa\@tmpb%
            \protected@xdef\cref@currentlabel{%
              [subsubappendix][\arabic{##1}][\@result]%
              \csname p@##1\endcsname\csname the##1\endcsname}%
          \else%
            \@ifundefined{cref@##1@alias}%
              {\def\@tmpa{##1}}%
              {\def\@tmpa{\csname cref@##1@alias\endcsname}}%
            \protected@xdef\cref@currentlabel{%
              [\@tmpa][\arabic{##1}][\@result]%
              \csname p@##1\endcsname\csname the##1\endcsname}
          \fi%
        \fi%
      \fi}%
  }{%
    \def\refstepcounter@noarg##1{%
      \cref@old@refstepcounter{##1}%
      \cref@constructprefix{##1}{\@result}%
      \ifx\@result\@empty%
        \def\@result{2147483647}%
      \else%
        \edef\@result{2147483647,\@result}%
      \fi%
      \def\@tmpa{##1}%
      \def\@tmpb{chapter}%
      \ifx\@tmpa\@tmpb%
        \protected@xdef\cref@currentlabel{%
          [appendix][\arabic{##1}][\@result]%
          \csname p@##1\endcsname\csname the##1\endcsname}%
      \else%
        \def\@tmpa{##1}%
        \def\@tmpb{section}%
        \ifx\@tmpa\@tmpb%
          \protected@xdef\cref@currentlabel{%
            [subappendix][\arabic{##1}][\@result]%
            \csname p@##1\endcsname\csname the##1\endcsname}%
        \else%
          \def\@tmpa{##1}%
          \def\@tmpb{subsection}%
          \ifx\@tmpa\@tmpb%
            \protected@xdef\cref@currentlabel{%
              [subsubappendix][\arabic{##1}][\@result]%
              \csname p@##1\endcsname\csname the##1\endcsname}%
          \else%
            \def\@tmpa{##1}%
            \def\@tmpb{subsubsection}%
            \ifx\@tmpa\@tmpb%
              \protected@xdef\cref@currentlabel{%
                [subsubsubappendix][\arabic{##1}][\@result]%
                \csname p@##1\endcsname\csname the##1\endcsname}%
            \else%
              \@ifundefined{cref@##1@alias}%
                {\def\@tmpa{##1}}%
                {\def\@tmpa{\csname cref@##1@alias\endcsname}}%
              \protected@xdef\cref@currentlabel{%
                [\@tmpa][\arabic{##1}][\@result]%
                \csname p@##1\endcsname\csname the##1\endcsname}
            \fi%
          \fi%
        \fi%
      \fi}%
  }%
}
\def\@gobble@optarg{\@ifnextchar[\@@gobble@optarg\@gobble@orig}%]
\def\@gobble@orig#1{}
\def\@@gobble@optarg[#1]#2{}
\def\cref@getlabel#1#2{%
  \expandafter\let\expandafter\@tmpa\csname r@cref@#1\endcsname%
  \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpa%
    \expandafter\expandafter\expandafter{%
      \expandafter\@firstoftwo\@tmpa}%
  \expandafter\@cref@getlabel\@tmpa\@nil#2}%
\def\@cref@getlabel{\@ifnextchar[%]
  \@@cref@getlabel{\@@cref@getlabel[][][]}}
\def\@@cref@getlabel[#1][#2][#3]#4\@nil#5{\def#5{#4}}
\def\cref@gettype#1#2{%
  \expandafter\let\expandafter\@tmpa\csname r@cref@#1\endcsname%
  \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpa%
    \expandafter\expandafter\expandafter{%
      \expandafter\@firstoftwo\@tmpa}%
  \expandafter\@cref@gettype\@tmpa\@nil#2}%
\def\@cref@gettype{\@ifnextchar[%]
  \@@cref@gettype{\@@cref@gettype[][][]}}
\def\@@cref@gettype[#1][#2][#3]#4\@nil#5{\def#5{#1}}
\def\cref@getcounter#1#2{%
  \expandafter\let\expandafter\@tmpa\csname r@cref@#1\endcsname%
  \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpa%
    \expandafter\expandafter\expandafter{%
      \expandafter\@firstoftwo\@tmpa}%
  \expandafter\@cref@getcounter\@tmpa\@nil#2}
\def\@cref@getcounter{\@ifnextchar[%]
  \@@cref@getcounter{\@@cref@getcounter[][][]}}
\def\@@cref@getcounter[#1][#2][#3]#4\@nil#5{\def#5{#2}}
\def\cref@getprefix#1#2{%
  \expandafter\let\expandafter\@tmpa\csname r@cref@#1\endcsname%
  \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpa%
    \expandafter\expandafter\expandafter{%
      \expandafter\@firstoftwo\@tmpa}%
  \expandafter\@cref@getprefix\@tmpa\@nil#2}
\def\@cref@getprefix{\@ifnextchar[%]
  \@@cref@getprefix{\@@cref@getprefix[][][]}}
\def\@@cref@getprefix[#1][#2][#3]#4\@nil#5{\def#5{#3}}
\def\cref@override@label@type[#1][#2][#3]#4\@nil#5{[#5][#2][#3]#4}
\def\cref@constructprefix#1#2{%
  \cref@stack@init{\@tmpstack}%
  \edef\@tmpa{\noexpand{#1\noexpand}}%
  \expandafter\def\expandafter\@tmpa\expandafter{\@tmpa{#2}}%
  \expandafter\@cref@constructprefix\@tmpa%
  \cref@stack@to@list{\@tmpstack}{\@tmpa}%
  \expandafter\def\expandafter#2\expandafter{\@tmpa}}
\def\@cref@constructprefix#1#2{%
  \cref@resetby{#1}{#2}%
  \ifx#2\relax%
  \else%
    \edef\@tmpa{\the\csname c@#2\endcsname}%
    \expandafter\cref@stack@push\expandafter{\@tmpa}{\@tmpstack}%
    \edef\@tmpa{{#2}}%
    \expandafter\expandafter\expandafter\@cref@constructprefix%
      \expandafter\@tmpa\expandafter{\expandafter#2\expandafter}%
  \fi}
\def\cref@append@toks#1#2{\toks0={#2}%
  \edef\act{\noexpand#1={\the#1\the\toks0}}%
  \act}%
\def\cref@stack@init#1{\def#1{\@nil}}
\def\cref@stack@top#1{\expandafter\@cref@stack@top#1}
\def\@cref@stack@top#1,#2\@nil{#1}
\def\cref@stack@pop#1{\expandafter\@cref@stack@pop#1#1}
\def\@cref@stack@pop#1,#2\@nil#3{\def#3{#2\@nil}}
\def\cref@stack@push#1#2{%
  \expandafter\@cref@stack@push\expandafter{#2}{#1}{#2}}
\def\@cref@stack@push#1#2#3{\def#3{#2,#1}}
\def\cref@stack@pull#1#2{\expandafter\@cref@stack@pull#2{#1}{#2}}
\def\@cref@stack@pull#1\@nil#2#3{\def#3{#1#2,\@nil}}
\def\cref@stack@to@list#1#2{%
  \cref@isstackfull{#1}%
  \if@cref@stackfull%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter#2%
    \expandafter\expandafter\expandafter{%
      \expandafter\@cref@stack@to@list#1}%
  \else%
    \def#2{}%
  \fi}
\def\@cref@stack@to@list#1,\@nil{#1}
\def\cref@stack@topandbottom#1#2#3{%
  \def#2{}%
  \def#3{}%
  \cref@isstackfull{#1}%
  \if@cref@stackfull%
    \edef#2{\cref@stack@top{#1}}%
    \cref@stack@pop{#1}%
    \cref@isstackfull{#1}%
    \@whilesw\if@cref@stackfull\fi{%
      \edef#3{\cref@stack@top{#1}}%
      \cref@stack@pop{#1}%
      \cref@isstackfull{#1}}%
  \fi}
\def\cref@stack@add#1#2{%
  \begingroup%
    \def\@arg1{#1}%
    \let\@tmpstack#2%
    \newif\if@notthere%
    \@nottheretrue%
    \cref@isstackfull{\@tmpstack}%
    \@whilesw\if@cref@stackfull\fi{%
      \edef\@tmpb{\cref@stack@top{\@tmpstack}}%
      \def\@tmpa{#1}%
      \ifx\@tmpa\@tmpb%
        \@cref@stackfullfalse%
        \@nottherefalse%
      \else%
        \cref@stack@pop{\@tmpstack}%
        \cref@isstackfull{\@tmpstack}%
      \fi}%
  \expandafter\endgroup%
  \if@notthere\cref@stack@push{#1}{#2}\fi}
\newif\if@cref@stackempty
\newif\if@cref@stackfull
\def\cref@isstackempty#1{%
  \def\@tmpa{\@nil}%
  \ifx#1\@tmpa\@cref@stackemptytrue%
  \else\@cref@stackemptyfalse\fi}
\def\cref@isstackfull#1{%
  \def\@tmpa{\@nil}%
  \ifx#1\@tmpa\@cref@stackfullfalse%
  \else\@cref@stackfulltrue\fi}
\def\cref@stack@sort#1#2{%
  \begingroup%
  \cref@stack@init{\@sortstack}%
  \edef\@element{\cref@stack@top{#1}}%
  \expandafter\cref@stack@push\expandafter{\@element}{\@sortstack}%
  \cref@stack@pop{#1}%
  \cref@isstackfull{#1}%
  \if@cref@stackfull%
    \edef\@tmpa{\cref@stack@top{#1}}%
    \@whilesw\ifx\@tmpa\@empty\fi{%
      \cref@stack@pull{}{\@sortstack}%
      \cref@stack@pop{#1}%
      \cref@isstackempty{#1}%
      \if@cref@stackempty%
        \let\@tmpa\relax%
      \else%
        \edef\@tmpa{\cref@stack@top{#1}}%
      \fi}%
  \fi%
  \cref@isstackfull{#1}%
  \@whilesw\if@cref@stackfull\fi{%
    \edef\@element{\cref@stack@top{#1}}%
    \cref@stack@pop{#1}%
    \def\@empties{}%
    \cref@isstackfull{#1}%
    \if@cref@stackfull%
      \edef\@tmpa{\cref@stack@top{#1}}%
      \@whilesw\ifx\@tmpa\@empty\fi{%
        \edef\@empties{\@empties,}%
        \cref@stack@pop{#1}%
        \cref@isstackempty{#1}%
        \if@cref@stackempty%
          \let\@tmpa\relax%
        \else%
          \edef\@tmpa{\cref@stack@top{#1}}%
        \fi}%
    \fi%
    \edef\@tmpa{{\expandafter\noexpand\@element}%
      {\expandafter\noexpand\@empties}%
      {\noexpand\@sortstack}{\noexpand#2}}%
    \expandafter\cref@stack@insert\@tmpa%
    \cref@isstackfull{#1}}%
  \expandafter\endgroup\expandafter%
  \def\expandafter#1\expandafter{\@sortstack}}
\def\cref@stack@insert#1#2#3#4{%
  \let\@cmp#4%
  \@cref@stack@insert{}{#1}{#2}{#3}%
  \cref@stack@pop{#3}}
\def\@cref@stack@insert#1#2#3#4{%
  \let\@iterate\relax%
  \cref@isstackempty{#4}%
  \if@cref@stackempty%
    \cref@stack@push{#1,#2#3}{#4}%
  \else%
    \edef\@tmpa{\cref@stack@top{#4}}%
    \expandafter\@cmp\expandafter{\@tmpa}{#2}{\@result}%
    \ifnum\@result=2\relax%
      \cref@stack@push{#1,#2#3}{#4}%
    \else%
      \cref@stack@pop{#4}%
      \edef\@tmpa{{\noexpand#1,\@tmpa}{\noexpand#2}%
        {\noexpand#3}{\noexpand#4}}%
      \expandafter\def\expandafter\@iterate\expandafter%
        {\expandafter\@cref@stack@insert\@tmpa}%
    \fi%
  \fi%
  \@iterate}
\def\cref@counter@first#1#2\@nil{#1}
\def\cref@counter@rest#1#2\@nil{#2}
\def\cref@countercmp#1#2#3{%
  \begingroup%
  \def\@tmpa{#1}%
  \ifx\@tmpa\@empty%
    \def\@result{1}%
  \else%
    \def\@tmpa{#2}%
    \ifx\@tmpa\@empty%
      \def\@result{2}%
    \else%
      \expandafter\ifx\csname r@cref@#1\endcsname\relax%
        \def\@result{2}%
      \else%
        \expandafter\ifx\csname r@cref@#2\endcsname\relax%
          \def\@result{1}%
        \else%
          \cref@getcounter{#1}{\@countera}%
          \cref@getprefix{#1}{\@prefixa}%
          \cref@getcounter{#2}{\@counterb}%
          \cref@getprefix{#2}{\@prefixb}%
          \cref@stack@init{\@countstacka}%
          \expandafter\cref@stack@push\expandafter%
            {\@countera}{\@countstacka}%
          \ifx\@prefixa\@empty\else%
            \expandafter\cref@stack@push\expandafter%
              {\@prefixa}{\@countstacka}%
          \fi%
          \cref@stack@init{\@countstackb}%
          \expandafter\cref@stack@push\expandafter%
            {\@counterb}{\@countstackb}%
          \ifx\@prefixb\@empty\else%
            \expandafter\cref@stack@push\expandafter%
              {\@prefixb}{\@countstackb}%
          \fi%
          \@cref@countercmp%
        \fi%
      \fi%
    \fi%
  \fi%
  \expandafter\endgroup\expandafter%
  \chardef\expandafter#3\expandafter=\@result\relax}
\def\@cref@countercmp{%
  \let\@iterate\relax%
  \cref@isstackempty{\@countstacka}%
  \if@cref@stackempty%
    \cref@isstackempty{\@countstackb}%
    \if@cref@stackempty%
      \def\@result{0}%
    \else%
      \def\@result{1}%
    \fi%
  \else%
    \cref@isstackempty{\@countstackb}%
    \if@cref@stackempty%
      \def\@result{2}%
    \else%
      \edef\@tmpa{\cref@stack@top{\@countstacka}}%
      \cref@stack@pop{\@countstacka}%
      \edef\@tmpb{\cref@stack@top{\@countstackb}}%
      \cref@stack@pop{\@countstackb}%
      \ifnum\@tmpa<\@tmpb\relax%
        \def\@result{1}%
      \else%
        \ifnum\@tmpa>\@tmpb\relax%
          \def\@result{2}%
        \else%
          \def\@iterate{\@cref@countercmp}%
        \fi%
      \fi%
    \fi%
  \fi%
  \@iterate}
\newif\if@cref@inresetlist
\def\cref@isinresetlist#1#2{%
  \begingroup%
    \def\@counter{#1}%
    \def\@elt##1{##1,}%
    \expandafter\ifx\csname cl@#2\endcsname\relax%
      \def\cref@resetstack{,\@nil}%
    \else%
      \edef\cref@resetstack{\csname cl@#2\endcsname\noexpand\@nil}%
    \fi%
    \let\@nextcounter\relax%
    \cref@isstackfull{\cref@resetstack}%
    \@whilesw\if@cref@stackfull\fi{%
      \edef\@nextcounter{\cref@stack@top{\cref@resetstack}}%
      \ifx\@nextcounter\@counter%
        \@cref@stackfullfalse%
      \else%
        \let\@nextcounter\relax%
        \cref@stack@pop{\cref@resetstack}%
        \cref@isstackfull{\cref@resetstack}%
      \fi}%
    \ifx\@nextcounter\relax%
      \def\@next{\@cref@inresetlistfalse}%
    \else%
      \def\@next{\@cref@inresetlisttrue}%
    \fi%
  \expandafter%
  \endgroup%
  \@next}
\def\cref@resetby#1#2{%
  \let#2\relax%
  \def\@tmpa{#1}%
  \def\@tmpb{subfigure}%
  \ifx\@tmpa\@tmpb%
    \cref@isinresetlist{#1}{figure}%
    \if@cref@inresetlist%
      \def#2{figure}%
    \fi%
  \fi%
  \def\@tmpa{#1}%
  \def\@tmpb{subtable}%
  \ifx\@tmpa\@tmpb%
    \cref@isinresetlist{#1}{table}%
    \if@cref@inresetlist%
      \def#2{table}%
    \fi%
  \fi%
  \@ifundefined{cl@parentequation}{}{%
    \def\@tmpa{#1}%
    \def\@tmpb{equation}%
    \ifx\@tmpa\@tmpb%
      \cref@isinresetlist{#1}{parentequation}%
      \if@cref@inresetlist%
        \expandafter\ifnum\c@parentequation=0\else%
          \def#2{parentequation}%
        \fi%
      \fi%
    \fi}%
  \def\@tmpa{#1}%
  \def\@tmpb{enumii}%
  \ifx\@tmpa\@tmpb%
    \def#2{enum}%
  \fi%
  \def\@tmpb{enumiii}%
  \ifx\@tmpa\@tmpb%
    \def#2{enum}%
  \fi%
  \def\@tmpb{enumiv}%
  \ifx\@tmpa\@tmpb%
    \def#2{enum}%
  \fi%
  \def\@tmpb{enumv}%
  \ifx\@tmpa\@tmpb%
    \def#2{enum}%
  \fi%
  \def\@tmpb{enum}%
  \ifx#2\@tmpb%
    \cref@isinresetlist{#1}{enumiv}%
    \if@cref@inresetlist%
      \def#2{enumiv}%
    \else%
      \cref@isinresetlist{#1}{enumiii}%
      \if@cref@inresetlist%
        \def#2{enumiii}%
      \else%
        \cref@isinresetlist{#1}{enumii}%
        \if@cref@inresetlist%
          \def#2{enumii}%
        \else%
          \cref@isinresetlist{#1}{enumi}%
          \if@cref@inresetlist%
            \def#2{enumi}%
          \else%
           \cref@isinresetlist{#1}{part}%
            \if@cref@inresetlist%
              \def#2{part}%
            \else%
              \let#2\relax%
            \fi%
          \fi%
        \fi%
      \fi%
    \fi%
  \fi%
  \ifx#2\relax%
    \cref@isinresetlist{#1}{table}%
    \if@cref@inresetlist%
      \def#2{table}%
    \else%
      \cref@isinresetlist{#1}{subsubsection}%
      \if@cref@inresetlist%
        \def#2{subsubsection}%
      \else%
        \cref@isinresetlist{#1}{subsection}%
        \if@cref@inresetlist%
          \def#2{subsection}%
        \else%
          \cref@isinresetlist{#1}{section}%
          \if@cref@inresetlist%
            \def#2{section}%
          \else%
            \cref@isinresetlist{#1}{chapter}%
            \if@cref@inresetlist%
              \def#2{chapter}%
            \else%
             \cref@isinresetlist{#1}{part}%
              \if@cref@inresetlist%
                \def#2{part}%
              \else%
                \let#2\relax%
              \fi%
            \fi%
          \fi%
        \fi%
      \fi%
    \fi%
  \fi}
\newif\if@cref@refconsecutive%
\def\cref@isrefconsecutive#1#2{%
  \begingroup%
    \countdef\refa@counter=0%
    \countdef\refb@counter=1%
    \cref@getcounter{#1}{\@result}%
    \refa@counter=\@result%
    \cref@getcounter{#2}{\@result}%
    \refb@counter=\@result%
    \cref@getprefix{#1}{\refa@prefix}%
    \cref@getprefix{#2}{\refb@prefix}%
    \def\@after{\@cref@refconsecutivefalse}%
    \ifx\refa@prefix\refb@prefix%
      \ifnum\refa@counter=\refb@counter\relax%
        \def\@after{\@cref@refconsecutivetrue}%
      \else%
        \advance\refa@counter 1\relax%
        \ifnum\refa@counter=\refb@counter\relax%
          \def\@after{\@cref@refconsecutivetrue}%
        \fi%
      \fi%
    \fi%
  \expandafter\endgroup\@after}
\def\cref@processgroup#1#2{%
  \edef\@nextref{\cref@stack@top{#1}}%
  \expandafter\ifx\csname r@cref@\@nextref\endcsname\relax%
    \def\@grouptype{\@undefined}%
    \def\@groupformat{\@undefined}%
  \else%
    \expandafter\cref@gettype\expandafter{\@nextref}{\@grouptype}%
    \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@groupformat%
      \expandafter\expandafter\expandafter{%
        \csname cref@\@grouptype @format\endcsname%
        {\@dummya}{\@dummyb}{\@dummyc}}%
  \fi%
  \let\@nexttype\@grouptype%
  \let\@nextformat\@groupformat%
  \@whilesw\ifx\@nextformat\@groupformat\fi{%
    \expandafter\cref@stack@pull\expandafter{\@nextref}{#2}%
    \cref@stack@pop{#1}%
    \cref@isstackempty{#1}%
    \if@cref@stackempty%
      \let\@nexttype\relax%
      \let\@nextformat\relax%
    \else%
      \edef\@nextref{\cref@stack@top{#1}}%
      \ifx\@nextref\@empty%
        \let\@nexttype\@grouptype%
        \let\@nextforamt\@groupformat%
      \else%
        \expandafter\ifx\csname r@cref@\@nextref\endcsname\relax%
          \def\@nexttype{\@undefined}%
          \def\@nextformat{\@undefined}%
        \else%
          \expandafter\cref@gettype\expandafter%
            {\@nextref}{\@nexttype}%
          \def\@tmpa{\@undefined}%
          \ifx\@nexttype\@tmpa%
            \def\@nextformat{\@undefined}%
          \else%
            \expandafter\expandafter\expandafter\def%
              \expandafter\expandafter\expandafter\@nextformat%
              \expandafter\expandafter\expandafter{%
                \csname cref@\@nexttype @format\endcsname%
                {\@dummya}{\@dummyb}{\@dummyc}}%
          \fi%
        \fi%
      \fi%
    \fi}%
}
\def\cref@processgroupall#1#2{%
  \cref@stack@init{\@tmpstack}%
  \edef\@nextref{\cref@stack@top{#1}}%
  \expandafter\ifx\csname r@cref@\@nextref\endcsname\relax%
    \def\@grouptype{\@undefined}%
    \def\@groupformat{\@undefined}%
  \else%
    \expandafter\cref@gettype\expandafter{\@nextref}{\@grouptype}%
    \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@groupformat%
      \expandafter\expandafter\expandafter{%
        \csname cref@\@grouptype @format\endcsname%
        {\@dummya}{\@dummyb}{\@dummyc}}%
  \fi%
  \let\@lasttype\@grouptype%
  \let\@lastformat\@groupformat%
  \cref@isstackfull{#1}%
  \@whilesw\if@cref@stackfull\fi{%
    \edef\@nextref{\cref@stack@top{#1}}%
    \ifx\@nextref\@empty%
      \ifx\@lastformat\@groupformat%
        \let\@nexttype\@grouptype%
        \let\@nextformat\@groupformat%
      \else%
        \let\@nexttype\relax%
        \let\@nextformat\relax%
      \fi%
    \else%
      \expandafter\ifx\csname r@cref@\@nextref\endcsname\relax%
        \def\@nexttype{\@undefined}%
        \def\@nextformat{\@undefined}%
      \else%
        \expandafter\cref@gettype\expandafter%
          {\@nextref}{\@nexttype}%
        \def\@tmpa{\@undefined}%
        \ifx\@nexttype\@tmpa%
          \def\@nextformat{\@undefined}%
        \else%
          \expandafter\expandafter\expandafter\def%
            \expandafter\expandafter\expandafter\@nextformat%
            \expandafter\expandafter\expandafter{%
              \csname cref@\@nexttype @format\endcsname%
              {\@dummya}{\@dummyb}{\@dummyc}}%
        \fi%
      \fi%
    \fi%
    \ifx\@nextformat\@groupformat%
      \expandafter\cref@stack@pull\expandafter{\@nextref}{#2}%
    \else%
      \expandafter\cref@stack@pull\expandafter{\@nextref}{\@tmpstack}%
    \fi%
    \cref@stack@pop{#1}%
    \let\@lasttype\@nexttype%
    \let\@lastformat\@nextformat%
    \cref@isstackfull{#1}}%
  \let#1\@tmpstack}
\def\cref@processconsecutive#1#2#3#4{%
  #4=0%
  \edef\@nextref{\cref@stack@top{#1}}%
  \cref@stack@pop{#1}%
  \cref@isstackempty{#1}%
  \if@cref@stackempty%
    \edef#2{\@nextref}%
    \let#3\relax%
    #4=1\relax%
  \else%
    \edef#2{\@nextref}%
    \let#3\relax%
    \edef\@nextref{\cref@stack@top{#1}}%
    #4=1\relax%
    \expandafter\ifx\csname r@cref@#2\endcsname\relax%
      \@cref@refconsecutivefalse%
    \else%
      \ifx\@nextref\@empty%
        \@cref@refconsecutivefalse%
        \@whilesw\ifx\@nextref\@empty\fi{%
          \cref@stack@pop{#1}%
          \cref@isstackempty{#1}%
          \if@cref@stackempty%
            \let\@nextref\relax%
          \else%
            \edef\@nextref{\cref@stack@top{#1}}%
          \fi}%
      \else%
        \expandafter\ifx\csname r@cref@\@nextref\endcsname\relax%
          \@cref@refconsecutivefalse%
        \else%
          \edef\@tmpa{{#2}{\@nextref}}%
          \expandafter\cref@isrefconsecutive\@tmpa%
        \fi%
      \fi%
    \fi%
    \@whilesw\if@cref@refconsecutive\fi{%
      \advance#4 1%
      \let#3\@nextref%
      \cref@stack@pop{#1}%
      \cref@isstackempty{#1}%
      \if@cref@stackempty%
        \@cref@refconsecutivefalse%
      \else%
        \edef\@nextref{\cref@stack@top{#1}}%
        \ifx\@nextref\@empty%
          \@cref@refconsecutivefalse%
          \@whilesw\ifx\@nextref\@empty\fi{%
            \cref@stack@pop{#1}%
            \cref@isstackempty{#1}%
            \if@cref@stackempty%
              \let\@nextref\relax%
            \else%
              \edef\@nextref{\cref@stack@top{#1}}%
            \fi}%
        \else%
          \expandafter\ifx\csname r@cref@\@nextref\endcsname\relax%
            \@cref@refconsecutivefalse%
          \else%
            \edef\@tmpa{{#3}{\@nextref}}%
            \expandafter\cref@isrefconsecutive\@tmpa%
          \fi%
        \fi%
      \fi}%
  \fi}
\DeclareRobustCommand{\cref}[1]{\@cref{cref}{#1}}
\DeclareRobustCommand{\Cref}[1]{\@cref{Cref}{#1}}
\DeclareRobustCommand{\crefrange}[2]{\@setcrefrange{#1}{#2}{cref}{}}
\DeclareRobustCommand{\Crefrange}[2]{\@setcrefrange{#1}{#2}{Cref}{}}
\@ifpackageloaded{hyperref}{\newif\if@crefstarred}{%
  \@ifpackageloaded{varioref}{\newif\if@crefstarred}{}}
\def\@cref#1#2{%
  \leavevmode%
  \begingroup%
  \countdef\count@consecutive=0%
  \countdef\count@group=1%
  \count@group=1%
  \def\cref@variant{#1}%
  \newif\if@secondref%
  \cref@stack@init{\@refstack}%
  \edef\@tmpa{#2}%
  \expandafter\cref@stack@push\expandafter{\@tmpa}{\@refstack}%
  \cref@isstackfull{\@refstack}%
  \@whilesw\if@cref@stackfull\fi{%
    \cref@stack@init{\@refsubstack}%
    \if@cref@sort%
      \cref@processgroupall{\@refstack}{\@refsubstack}%
      \cref@stack@sort{\@refsubstack}{\cref@countercmp}%
    \else%
      \cref@processgroup{\@refstack}{\@refsubstack}%
    \fi%
    \ifnum\count@group=1\relax%
      \advance\count@group 1%
    \else%
      \cref@isstackfull{\@refstack}%
      \if@cref@stackfull%
        \@setcref@middlegroupconjunction%
      \else%
        \ifnum\count@group=2\relax%
          \@setcref@pairgroupconjunction%
        \else%
          \@setcref@lastgroupconjunction%
        \fi%
      \fi%
      \advance\count@group 1%
      \def\cref@variant{cref}%
    \fi%
    \if@cref@compress%
      \cref@processconsecutive%
        {\@refsubstack}{\@beginref}{\@endref}{\count@consecutive}%
    \else%
      \edef\@beginref{\cref@stack@top{\@refsubstack}}%
      \cref@stack@pop{\@refsubstack}%
      \@whilesw\ifx\@beginref\@empty\fi{%
        \cref@stack@pop{\@refsubstack}%
        \cref@isstackempty{\@refsubstack}%
        \if@cref@stackempty%
          \let\@beginref\relax%
        \else%
          \edef\@beginref{\cref@stack@top{\@refsubstack}}%
        \fi}%
      \let\@endref\relax%
      \count@consecutive=1\relax%
    \fi%
    \ifnum\count@consecutive=1\relax%
      \cref@isstackfull{\@refsubstack}%
      \if@cref@stackfull%
        \expandafter\@setcref%
          \expandafter{\@beginref}{\cref@variant}{@first}%
      \else%
        \expandafter\@setcref%
          \expandafter{\@beginref}{\cref@variant}{}%
      \fi%
    \else%
      \ifnum\count@consecutive=2\relax%
        \expandafter\@setcref%
          \expandafter{\@beginref}{\cref@variant}{@first}%
        \expandafter\cref@stack@push\expandafter%
          {\@endref,}{\@refsubstack}%
      \else%
        \edef\@tmpa{{\@beginref}{\@endref}}%
        \if@cref@stackempty%
          \expandafter\@setcrefrange\@tmpa{\cref@variant}{}%
        \else%
          \expandafter\@setcrefrange\@tmpa{\cref@variant}{@first}%
        \fi%
      \fi%
    \fi%
    \@secondreftrue%
    \cref@isstackfull{\@refsubstack}%
    \@whilesw\if@cref@stackfull\fi{%
      \if@cref@compress%
        \cref@processconsecutive%
          {\@refsubstack}{\@beginref}{\@endref}{\count@consecutive}%
      \else%
        \edef\@beginref{\cref@stack@top{\@refsubstack}}%
        \cref@stack@pop{\@refsubstack}%
        \@whilesw\ifx\@beginref\@empty\fi{%
          \cref@stack@pop{\@refsubstack}%
          \cref@isstackempty{\@refsubstack}%
          \if@cref@stackempty%
            \let\@beginref\relax%
          \else%
            \edef\@beginref{\cref@stack@top{\@refsubstack}}%
          \fi}%
        \let\@endref\relax%
        \count@consecutive=1\relax%
      \fi%
      \cref@isstackempty{\@refsubstack}%
      \if@cref@stackempty%
        \if@secondref%
          \def\@pos{@second}%
        \else%
          \def\@pos{@last}%
        \fi%
      \else%
        \def\@pos{@middle}%
      \fi%
      \ifnum\count@consecutive=1\relax%
        \edef\@tmpa{{\@beginref}{cref}{\@pos}}%
        \expandafter\@setcref\@tmpa%
      \else%
        \ifnum\count@consecutive=2\relax%
          \expandafter\@setcref\expandafter%
            {\@beginref}{cref}{@middle}%
          \expandafter\cref@stack@push\expandafter%
            {\@endref}{\@refsubstack}%
        \else%
          \edef\@tmpa{{\@beginref}{\@endref}{cref}{\@pos}}%
          \expandafter\@setcrefrange\@tmpa%
        \fi%
      \fi%
      \@secondreffalse%
      \cref@isstackfull{\@refsubstack}%
    }% end loop over reference substack
    \cref@isstackfull{\@refstack}%
    \if@cref@stackfull%
      \def\@tmpa{#1}\def\@tmpb{labelcref}%
      \ifx\@tmpa\@tmpb\relax%
        \protect\G@refundefinedtrue%
        \nfss@text{\reset@font\bfseries\space ??}%
        \@latex@warning{References in label reference on page \thepage
          \space have different types}%
        \@cref@stackfullfalse%
      \fi%
    \fi%
  }% end loop over main reference stack
  \endgroup}
\def\@setcref#1#2#3{%
  \expandafter\ifx\csname r@cref@#1\endcsname\relax%
    \protect\G@refundefinedtrue%
    \nfss@text{\reset@font\bfseries ??}%
    \@latex@warning{Reference `#1' on page \thepage \space undefined}%
  \else%
    \cref@gettype{#1}{\@temptype}%  puts label type in \@temptype
    \cref@getlabel{#1}{\@templabel}%  puts label in \@templabel
    \expandafter\ifx\csname #2@\@temptype @format#3\endcsname\relax%
      \edef\@tmpa{#2}\def\@tmpb{labelcref}%
      \ifx\@tmpa\@tmpb\relax%
        \expandafter\@@setcref\expandafter%
          {\csname #2@default@format#3\endcsname}{#1}%
      \else%
        \protect\G@refundefinedtrue%
        \nfss@text{\reset@font\bfseries ??}~\@templabel%
        \@latex@warning{#2 \space reference format for label type
          `\@temptype' undefined}%
      \fi%
    \else%
      \expandafter\@@setcref\expandafter%
        {\csname #2@\@temptype @format#3\endcsname}{#1}%
    \fi%
  \fi}
\def\@@setcref#1#2{\cref@getlabel{#2}{\@templabel}#1{\@templabel}{}{}}
\def\@setcrefrange#1#2#3#4{%
  \begingroup%
    \expandafter\ifx\csname r@cref@#1\endcsname\relax%
      \protect\G@refundefinedtrue%
      \@latex@warning{Reference `#1' on page \thepage \space%
        undefined}%
      \expandafter\ifx\csname r@cref@#2\endcsname\relax%
        \nfss@text{\reset@font\bfseries ??}--%
        \nfss@text{\reset@font\bfseries ??}%
        \@latex@warning{Reference `#2' on page \thepage \space%
          undefined}%
      \else%
        \cref@getlabel{#2}{\@labelb}%
        \nfss@text{\reset@font\bfseries ??}--\@labelb%
      \fi%
    \else%
      \expandafter\ifx\csname r@cref@#2\endcsname\relax%
        \protect\G@refundefinedtrue%
        \cref@getlabel{#1}{\@labela}%
        \@labela--\nfss@text{\reset@font\bfseries ??}%
        \@latex@warning{Reference `#2' on page \thepage %
          \space undefined}%
      \else%
        \cref@gettype{#1}{\@typea}%
        \cref@gettype{#2}{\@typeb}%
        \cref@getlabel{#1}{\@labela}%
        \cref@getlabel{#2}{\@labelb}%
        \edef\@formata{\expandafter\noexpand%
          \csname #3range@\@typea @format#4\endcsname}%
        \edef\@formatb{\expandafter\noexpand%
          \csname #3range@\@typeb @format#4\endcsname}%
        \expandafter\ifx\@formata\relax%
          \edef\@tmpa{#3}\def\@tmpb{labelcref}%
          \ifx\@tmpa\@tmpb\relax%
            \expandafter\@@setcrefrange\expandafter%
              {\csname #3range@default@format#4\endcsname}{#1}{#2}%
          \else%
            \protect\G@refundefinedtrue%
            \nfss@text{\reset@font\bfseries ??}~\@labela--\@labelb%
            \@latex@warning{#3\space reference range format for label
              type `\@typea' undefined}%
          \fi%
        \else%
          \ifx\formata\formatb%
            \expandafter\@@setcrefrange\expandafter{\@formata}{#1}{#2}%
          \else%
            \protect\G@refundefinedtrue%
            \nfss@text{\reset@font\bfseries ??}~\@labela--\@labelb%
            \@latex@warning{References `#1' and `#2' in reference range
              on page \thepage have different types}%
          \fi%
        \fi%
      \fi%
    \fi%
  \endgroup}
\def\@@setcrefrange#1#2#3{%
  \cref@getlabel{#2}{\@labela}%
  \cref@getlabel{#3}{\@labelb}%
  #1{\@labela}{\@labelb}{}{}{}{}}
\def\@setcref@pairgroupconjunction{\crefpairgroupconjunction}
\def\@setcref@middlegroupconjunction{\crefmiddlegroupconjunction}
\def\@setcref@lastgroupconjunction{\creflastgroupconjunction}
\DeclareRobustCommand{\labelcref}[1]{\@cref{labelcref}{#1}}
\DeclareRobustCommand{\namecref}[1]{%
  \expandafter\ifx\csname r@cref@#1\endcsname\relax%
    \protect\G@refundefinedtrue%
    \nfss@text{\reset@font\bfseries ??}%
    \@latex@warning{Reference `#1' on page \thepage \space undefined}%
  \else%
    \cref@gettype{#1}{\@tmpa}%
    \@ifundefined{cref@\@tmpa @name}{%
      \protect\G@refundefinedtrue%``
      \nfss@text{\reset@font\bfseries ??}%
      \@latex@warning{Reference name for label type `\@tmpa' undefined}%
    }{\csname cref@\@tmpa @name\endcsname}%
  \fi}
\DeclareRobustCommand{\nameCref}[1]{%
  \expandafter\ifx\csname r@cref@#1\endcsname\relax%
    \protect\G@refundefinedtrue%
    \nfss@text{\reset@font\bfseries ??}%
    \@latex@warning{Reference `#1' on page \thepage \space undefined}%
  \else%
    \cref@gettype{#1}{\@tmpa}%
    \@ifundefined{Cref@\@tmpa @name}{%
      \protect\G@refundefinedtrue%``
      \nfss@text{\reset@font\bfseries ??}%
      \@latex@warning{Reference name for label type `\@tmpa' undefined}%
    }{\csname Cref@\@tmpa @name\endcsname}%
  \fi}
\DeclareRobustCommand{\namecrefs}[1]{%
  \expandafter\ifx\csname r@cref@#1\endcsname\relax%
    \protect\G@refundefinedtrue%
    \nfss@text{\reset@font\bfseries ??}%
    \@latex@warning{Reference `#1' on page \thepage \space undefined}%
  \else%
    \cref@gettype{#1}{\@tmpa}%
    \@ifundefined{cref@\@tmpa @name@plural}{%
      \protect\G@refundefinedtrue%``
      \nfss@text{\reset@font\bfseries ??}%
      \@latex@warning{Reference name for label type `\@tmpa' undefined}%
    }{\csname cref@\@tmpa @name@plural\endcsname}%
  \fi}
\DeclareRobustCommand{\nameCrefs}[1]{%
  \expandafter\ifx\csname r@cref@#1\endcsname\relax%
    \protect\G@refundefinedtrue%
    \nfss@text{\reset@font\bfseries ??}%
    \@latex@warning{Reference `#1' on page \thepage \space undefined}%
  \else%
    \cref@gettype{#1}{\@tmpa}%
    \@ifundefined{Cref@\@tmpa @name@plural}{%
      \protect\G@refundefinedtrue%``
      \nfss@text{\reset@font\bfseries ??}%
      \@latex@warning{Reference name for label type `\@tmpa' undefined}%
    }{\csname Cref@\@tmpa @name@plural\endcsname}%
  \fi}
\cref@stack@init{\cref@label@types}
\newcommand{\crefdefaultlabelformat}[1]{%
  \def\cref@default@label##1##2##3{#1}}
\newcommand{\crefname}[3]{%
  \@crefname{cref}{#1}{#2}{#3}{}}
\newcommand{\Crefname}[3]{%
  \@crefname{Cref}{#1}{#2}{#3}{}}
\newcommand{\creflabelformat}[2]{%
  \expandafter\def\csname cref@#1@label\endcsname##1##2##3{#2}%
  \cref@stack@add{#1}{\cref@label@types}}
\newcommand{\crefrangelabelformat}[2]{%
  \expandafter\def\csname cref@#1@rangelabel\endcsname%
    ##1##2##3##4##5##6{#2}%
  \cref@stack@add{#1}{\cref@label@types}}
\newcommand{\crefalias}[2]{%
  \expandafter\def\csname cref@#1@alias\endcsname{#2}}
\newcommand{\crefname@preamble}[3]{%
  \@crefname{cref}{#1}{#2}{#3}{@preamble}}
\newcommand{\Crefname@preamble}[3]{%
  \@crefname{Cref}{#1}{#2}{#3}{@preamble}}
\def\@crefname#1#2#3#4#5{%
  \expandafter\def\csname #1@#2@name#5\endcsname{#3}%
  \expandafter\def\csname #1@#2@name@plural#5\endcsname{#4}%
  \def\@tmpa##1##2\@nil{%
    \if##1c%
      \def\@other{C##2}%
      \def\@tmpc{\expandafter\MakeUppercase}%
    \else%
      \def\@other{c##2}%
      \if@cref@capitalise%
        \def\@tmpc{}%
      \else%
        \def\@tmpc{\MakeLowercase}%
      \fi%
    \fi}%
  \@tmpa#1\@nil%
  \@ifundefined{\@other @#2@name#5}{%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpa%
    \expandafter\expandafter\expandafter{%
      \csname#1@#2@name\endcsname}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpb%
    \expandafter\expandafter\expandafter{%
      \csname#1@#2@name@plural\endcsname}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpa%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpc\@tmpa}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpb%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpc\@tmpb}%
    \toksdef\@toksa=0%
    \@toksa={%
      \expandafter\def\csname\@other @#2@name#5\endcsname}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmpa}%
    \@toksa={%
      \expandafter\def\csname\@other @#2@name@plural#5\endcsname}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmpb}%
  }{}%
  \cref@stack@add{#2}{\cref@label@types}}
\def\@crefconstructcomponents#1{%
  \@ifundefined{cref@#1@label}{%
    \let\@tmplabel\cref@default@label%
  }{%
    \expandafter\let\expandafter\@tmplabel%
    \csname cref@#1@label\endcsname%
  }%
  \@ifundefined{cref@#1@rangelabel}{%
    \expandafter\def\expandafter\@tmpa\expandafter{%
      \@tmplabel{####1}{####3}{####4}}%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \@tmplabel{####2}{####5}{####6}}%
    \toksdef\@toksa=0%
    \@toksa={\def\@tmprangelabel##1##2##3##4##5##6}%
    \expandafter\expandafter\expandafter\the%
    \expandafter\expandafter\expandafter\@toksa%
    \expandafter\expandafter\expandafter{%
      \expandafter\expandafter\expandafter\crefrangepreconjunction%
      \expandafter\@tmpa\expandafter\crefrangeconjunction\@tmpb%
      \crefrangepostconjunction}%
  }{%
    \expandafter\let\expandafter\@tmprangelabel%
    \csname cref@#1@rangelabel\endcsname%
  }%
  \expandafter\def\expandafter\@tmplabel\expandafter{%
    \@tmplabel{########1}{########2}{########3}}%
  \expandafter\def\expandafter\@tmprangelabel\expandafter{%
    \@tmprangelabel{########1}{########2}{########3}%
    {########4}{########5}{########6}}%
  \expandafter\def\expandafter\@tmpname\expandafter{%
    \csname cref@#1@name\endcsname}%
  \expandafter\def\expandafter\@tmpName\expandafter{%
    \csname Cref@#1@name\endcsname}%
  \expandafter\def\expandafter\@tmpnameplural\expandafter{%
    \csname cref@#1@name@plural\endcsname}%
  \expandafter\def\expandafter\@tmpNameplural\expandafter{%
    \csname Cref@#1@name@plural\endcsname}%
}
\def\@crefdefineformat#1{%
  \begingroup%
    \@crefconstructcomponents{#1}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpfirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpname\expandafter~\@tmplabel}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpFirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpName\expandafter~\@tmplabel}%
    \expandafter\def\expandafter\@tmplabel\expandafter{\@tmplabel}%
    \toksdef\@toksa=0%
    \@toksa={\crefformat{#1}}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmpfirst}%
    \@toksa={\Crefformat{#1}}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmpFirst}%
    \@ifundefined{cref@#1@label}{}{%
      \@toksa={\labelcrefformat{#1}}%
      \expandafter\the\expandafter\@toksa\expandafter{\@tmplabel}}%
  \endgroup}
\def\@crefrangedefineformat#1{%
  \begingroup%
    \@crefconstructcomponents{#1}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpfirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpnameplural\expandafter~\@tmprangelabel}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpFirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpNameplural\expandafter~\@tmprangelabel}%
    \expandafter\def\expandafter\@tmprangelabel%
      \expandafter{\@tmprangelabel}%
    \toksdef\@toksa=0%
    \@toksa={\crefrangeformat{#1}}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmpfirst}%
    \@toksa={\Crefrangeformat{#1}}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmpFirst}%
    \@ifundefined{cref@#1@rangelabel}{%
      \@ifundefined{cref@#1@label}{\let\@tmpa\relax}{\def\@tmpa{}}}%
        {\def\@tmpa{}}%
    \ifx\@tmpa\@empty\relax%
      \@toksa={\labelcrefrangeformat{#1}}%
      \expandafter\the\expandafter\@toksa\expandafter{%
        \@tmprangelabel}%
    \fi%
  \endgroup}
\def\@crefdefinemultiformat#1{%
  \begingroup%
    \@crefconstructcomponents{#1}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpfirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpnameplural\expandafter~\@tmplabel}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpFirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpNameplural\expandafter~\@tmplabel}%
    \expandafter\def\expandafter\@tmpsecond\expandafter{%
      \expandafter\crefpairconjunction\@tmplabel}%
    \expandafter\def\expandafter\@tmpmiddle\expandafter{%
      \expandafter\crefmiddleconjunction\@tmplabel}%
    \expandafter\def\expandafter\@tmplast\expandafter{%
      \expandafter\creflastconjunction\@tmplabel}%
    \expandafter\def\expandafter\@tmplabel\expandafter{\@tmplabel}%
    \toksdef\@toksa=0%
    \toksdef\@toksb=1%
    \@toksb={}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpfirst}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpsecond}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpmiddle}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmplast}}%
    \@toksa={\crefmultiformat{#1}}%
    \expandafter\the\expandafter\@toksa\the\@toksb%
    \@toksb={}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpFirst}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpsecond}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpmiddle}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmplast}}%
    \@toksa={\Crefmultiformat{#1}}%
    \expandafter\the\expandafter\@toksa\the\@toksb%
    \@ifundefined{cref@#1@label}{}{%
      \@toksb={}%
      \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
        \expandafter{\@tmplabel}}%
      \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
        \expandafter{\@tmpsecond}}%
      \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
        \expandafter{\@tmpmiddle}}%
      \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
        \expandafter{\@tmplast}}%
      \@toksa={\labelcrefmultiformat{#1}}%
      \expandafter\the\expandafter\@toksa\the\@toksb}%
  \endgroup}
\def\@crefrangedefinemultiformat#1{%
  \begingroup%
    \@crefconstructcomponents{#1}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpfirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpnameplural\expandafter~\@tmprangelabel}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpFirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpNameplural\expandafter~\@tmprangelabel}%
    \expandafter\def\expandafter\@tmpsecond\expandafter{%
      \expandafter\crefpairconjunction\@tmprangelabel}%
    \expandafter\def\expandafter\@tmpmiddle\expandafter{%
      \expandafter\crefmiddleconjunction\@tmprangelabel}%
    \expandafter\def\expandafter\@tmplast\expandafter{%
      \expandafter\creflastconjunction\@tmprangelabel}%
    \expandafter\def\expandafter\@tmprangelabel%
      \expandafter{\@tmprangelabel}%
    \toksdef\@toksa=0%
    \toksdef\@toksb=1%
    \@toksb={}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpfirst}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpsecond}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpmiddle}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmplast}}%
    \@toksa={\crefrangemultiformat{#1}}%
    \expandafter\the\expandafter\@toksa\the\@toksb%
    \@toksb={}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpFirst}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpsecond}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpmiddle}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmplast}}%
    \@toksa={\Crefrangemultiformat{#1}}%
    \expandafter\the\expandafter\@toksa\the\@toksb%
    \@ifundefined{cref@#1@rangelabel}{%
      \@ifundefined{cref@#1@label}{\let\@tmpa\relax}{\def\@tmpa{}}}%
        {\def\@tmpa{}}%
    \ifx\@tmpa\@empty\relax%
      \@toksb={}%
      \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
        \expandafter{\@tmprangelabel}}%
      \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
        \expandafter{\@tmpsecond}}%
      \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
        \expandafter{\@tmpmiddle}}%
      \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
        \expandafter{\@tmplast}}%
      \@toksa={\labelcrefrangemultiformat{#1}}%
      \expandafter\the\expandafter\@toksa\the\@toksb%
    \fi%
  \endgroup}
\def\@labelcrefdefinedefaultformats{%
  \begingroup%
    \toksdef\@toksa=0%
    \toksdef\@toksb=1%
    \let\@tmplabel\cref@default@label%
    \expandafter\def\expandafter\@tmpa\expandafter{%
      \@tmplabel{####1}{####3}{####4}}%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \@tmplabel{####2}{####5}{####6}}%
    \@toksa={\def\@tmprangelabel##1##2##3##4##5##6}%
    \expandafter\expandafter\expandafter\the%
    \expandafter\expandafter\expandafter\@toksa%
    \expandafter\expandafter\expandafter{%
      \expandafter\expandafter\expandafter\crefrangepreconjunction%
      \expandafter\@tmpa\expandafter\crefrangeconjunction\@tmpb%
      \crefrangepostconjunction}%
    \expandafter\def\expandafter\@tmplabel\expandafter{%
      \@tmplabel{########1}{########2}{########3}}%
    \expandafter\def\expandafter\@tmprangelabel\expandafter{%
      \@tmprangelabel{########1}{########2}{########3}%
      {########4}{########5}{########6}}%
    \expandafter\def\expandafter\@tmpsecond\expandafter{%
      \expandafter\crefpairconjunction\@tmplabel}%
    \expandafter\def\expandafter\@tmpmiddle\expandafter{%
      \expandafter\crefmiddleconjunction\@tmplabel}%
    \expandafter\def\expandafter\@tmplast\expandafter{%
      \expandafter\creflastconjunction\@tmplabel}%
    \expandafter\def\expandafter\@tmprangesecond\expandafter{%
      \expandafter\crefpairconjunction\@tmprangelabel}%
    \expandafter\def\expandafter\@tmprangemiddle\expandafter{%
      \expandafter\crefmiddleconjunction\@tmprangelabel}%
    \expandafter\def\expandafter\@tmprangelast\expandafter{%
      \expandafter\creflastconjunction\@tmprangelabel}%
    \expandafter\def\expandafter\@tmplabel\expandafter{\@tmplabel}%
    \expandafter\def\expandafter\@tmprangelabel%
      \expandafter{\@tmprangelabel}%
    \@toksa={\labelcrefformat{default}}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmplabel}%
    \@toksa={\labelcrefrangeformat{default}}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmprangelabel}%
    \@toksb={}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmplabel}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpsecond}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpmiddle}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmplast}}%
    \@toksa={\labelcrefmultiformat{default}}%
    \expandafter\the\expandafter\@toksa\the\@toksb%
    \@toksb={}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmprangelabel}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpsecond}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpmiddle}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmplast}}%
    \@toksa={\labelcrefrangemultiformat{default}}%
    \expandafter\the\expandafter\@toksa\the\@toksb%
  \endgroup}
\def\@crefdefineallformats#1{%
  \@crefdefineformat{#1}%
  \@crefrangedefineformat{#1}%
  \@crefdefinemultiformat{#1}%
  \@crefrangedefinemultiformat{#1}}
\newcommand{\crefformat}[2]{\@crefformat{cref}{#1}{#2}}
\newcommand{\Crefformat}[2]{\@crefformat{Cref}{#1}{#2}}
\newcommand{\crefrangeformat}[2]{\@crefrangeformat{crefrange}{#1}{#2}}
\newcommand{\Crefrangeformat}[2]{\@crefrangeformat{Crefrange}{#1}{#2}}
\newcommand{\crefmultiformat}[5]{%
  \@crefmultiformat{cref}{#1}{#2}{#3}{#4}{#5}}
\newcommand{\Crefmultiformat}[5]{%
  \@crefmultiformat{Cref}{#1}{#2}{#3}{#4}{#5}}
\newcommand{\crefrangemultiformat}[5]{%
  \@crefrangemultiformat{crefrange}{#1}{#2}{#3}{#4}{#5}}
\newcommand{\Crefrangemultiformat}[5]{%
  \@crefrangemultiformat{Crefrange}{#1}{#2}{#3}{#4}{#5}}
\newcommand{\labelcrefformat}[2]{%
  \expandafter\gdef\csname labelcref@#1@format\endcsname##1##2##3{#2}}
\newcommand{\labelcrefrangeformat}[2]{%
  \expandafter\gdef\csname labelcrefrange@#1@format\endcsname%
  ##1##2##3##4##5##6{#2}}
\newcommand{\labelcrefmultiformat}[5]{%
  \expandafter\gdef\csname labelcref@#1@format@first\endcsname%
    ##1##2##3{#2}%
  \expandafter\gdef\csname labelcref@#1@format@second\endcsname%
    ##1##2##3{#3}%
  \expandafter\gdef\csname labelcref@#1@format@middle\endcsname%
    ##1##2##3{#4}%
  \expandafter\gdef\csname labelcref@#1@format@last\endcsname%
    ##1##2##3{#5}}
\newcommand{\labelcrefrangemultiformat}[5]{%
  \expandafter\gdef\csname labelcrefrange@#1@format@first\endcsname%
    ##1##2##3##4##5##6{#2}%
  \expandafter\gdef\csname labelcrefrange@#1@format@second\endcsname%
    ##1##2##3##4##5##6{#3}%
  \expandafter\gdef\csname labelcrefrange@#1@format@middle\endcsname%
    ##1##2##3##4##5##6{#4}%
  \expandafter\gdef\csname labelcrefrange@#1@format@last\endcsname%
    ##1##2##3##4##5##6{#5}}
\def\@crefformat#1#2#3{%
  \begingroup%
    \expandafter\gdef\csname #1@#2@format\endcsname##1##2##3{#3}%
    \def\@tmpa##1##2\@nil{%
      \if##1c%
        \def\@other{C##2}%
        \def\@changecase{\expandafter\MakeUppercase}%
      \else%
        \def\@other{c##2}%
        \if@cref@capitalise%
          \def\@changecase{}%
        \else%
          \def\@changecase{\MakeLowercase}%
        \fi%
      \fi}%
    \@tmpa#1\@nil%
    \@ifundefined{\@other @#2@format}{%
      \toksdef\@toksa=0%
      \@toksa={\def\@tmpa##1##2##3}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \csname#1@#2@format\endcsname{##1}{##2}{##3}}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@changecase\@tmpa{##1}{##2}{##3}}%
      \@toksa={%
        \expandafter\gdef\csname\@other @#2@format\endcsname##1##2##3}%
      \expandafter\the\expandafter\@toksa\expandafter{%
        \@tmpa{##1}{##2}{##3}}%
    }{}%
  \endgroup}
\def\@crefrangeformat#1#2#3{%
  \begingroup%
    \expandafter\gdef\csname #1@#2@format\endcsname%
      ##1##2##3##4##5##6{#3}%
    \def\@tmpa##1##2\@nil{%
      \if##1c%
        \def\@other{C##2}%
        \def\@changecase{\expandafter\MakeUppercase}%
      \else%
        \def\@other{c##2}%
        \if@cref@capitalise%
          \def\@changecase{}%
        \else%
          \def\@changecase{\MakeLowercase}%
        \fi%
      \fi}%
    \@tmpa#1\@nil%
    \@ifundefined{\@other @#2@format}{%
      \toksdef\@toksa=0%
      \@toksa={\def\@tmpa##1##2##3##4##5##6}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \csname#1@#2@format\endcsname{##1}{##2}{##3}{##4}{##5}{##6}}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@changecase\@tmpa{##1}{##2}{##3}{##4}{##5}{##6}}%
      \@toksa={\expandafter\gdef%
        \csname\@other @#2@format\endcsname##1##2##3##4##5##6}%
      \expandafter\the\expandafter\@toksa\expandafter{%
        \@tmpa{##1}{##2}{##3}{##4}{##5}{##6}}%
    }{}%
  \endgroup}
\def\@crefmultiformat#1#2#3#4#5#6{%
  \begingroup%
    \expandafter\gdef\csname #1@#2@format@first\endcsname##1##2##3{#3}%
    \expandafter\gdef\csname #1@#2@format@second\endcsname##1##2##3{#4}%
    \expandafter\gdef\csname #1@#2@format@middle\endcsname##1##2##3{#5}%
    \expandafter\gdef\csname #1@#2@format@last\endcsname##1##2##3{#6}%
    \def\@tmpa##1##2\@nil{%
      \if##1c%
        \def\@other{C##2}%
        \def\@changecase{\expandafter\MakeUppercase}%
      \else%
        \def\@other{c##2}%
        \if@cref@capitalise%
          \def\@changecase{}%
        \else%
          \def\@changecase{\MakeLowercase}%
        \fi%
      \fi}%
    \@tmpa#1\@nil%
    \@ifundefined{\@other @#2@format@first}{%
      \toksdef\@toksa=0%
      \@toksa={\def\@tmpa##1##2##3}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \csname#1@#2@format@first\endcsname{##1}{##2}{##3}}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@changecase\@tmpa{##1}{##2}{##3}}%
      \@toksa={%
        \expandafter\gdef\csname\@other @#2@format@first\endcsname%
          ##1##2##3}%
      \expandafter\the\expandafter\@toksa\expandafter{%
        \@tmpa{##1}{##2}{##3}}%
    }{}%
    \@ifundefined{\@other @#2@format@second}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@second\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@second\endcsname%
    }{}%
    \@ifundefined{\@other @#2@format@middle}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@middle\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@middle\endcsname%
    }{}%
    \@ifundefined{\@other @#2@format@last}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@last\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@last\endcsname%
    }{}%
  \endgroup}
\def\@crefrangemultiformat#1#2#3#4#5#6{%
  \begingroup%
    \expandafter\gdef\csname #1@#2@format@first\endcsname%
      ##1##2##3##4##5##6{#3}%
    \expandafter\gdef\csname #1@#2@format@second\endcsname%
      ##1##2##3##4##5##6{#4}%
    \expandafter\gdef\csname #1@#2@format@middle\endcsname%
      ##1##2##3##4##5##6{#5}%
    \expandafter\gdef\csname #1@#2@format@last\endcsname%
      ##1##2##3##4##5##6{#6}%
    \def\@tmpa##1##2\@nil{%
      \if##1c%
        \def\@other{C##2}%
        \def\@changecase{\expandafter\MakeUppercase}%
      \else%
        \def\@other{c##2}%
        \if@cref@capitalise%
          \def\@changecase{}%
        \else%
          \def\@changecase{\MakeLowercase}%
        \fi%
      \fi}%
    \@tmpa#1\@nil%
    \@ifundefined{\@other @#2@format@first}{%
      \toksdef\@toksa=0%
      \@toksa={\def\@tmpa##1##2##3##4##5##6}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \csname#1@#2@format@first\endcsname%
          {##1}{##2}{##3}{##4}{##5}{##6}}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@changecase\@tmpa{##1}{##2}{##3}{##4}{##5}{##6}}%
      \@toksa={%
        \expandafter\gdef\csname\@other @#2@format@first\endcsname%
          ##1##2##3##4##5##6}%
      \expandafter\the\expandafter\@toksa\expandafter{%
        \@tmpa{##1}{##2}{##3}{##4}{##5}{##6}}%
    }{}%
    \@ifundefined{\@other @#2@format@second}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@second\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@second\endcsname%
    }{}%
    \@ifundefined{\@other @#2@format@middle}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@middle\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@middle\endcsname%
    }{}%
    \@ifundefined{\@other @#2@format@last}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@last\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@last\endcsname%
    }{}%
  \endgroup}
\@ifpackageloaded{hyperref}{%
  \PackageInfo{cleveref}{`hyperref' support loaded}
  \def\cref@hyperref#1{\expandafter\expandafter\expandafter%
    \@fourthoffive\csname r@#1\endcsname}
  \let\cref@old@H@refstepcounter\H@refstepcounter
  \def\H@refstepcounter#1{%
    \cref@old@H@refstepcounter{#1}%
    \cref@constructprefix{#1}{\@result}%
    \@ifundefined{cref@#1@alias}%
      {\def\@tmpa{#1}}%
      {\def\@tmpa{\csname cref@#1@alias\endcsname}}%
    \protected@xdef\cref@currentlabel{%
      [\@tmpa][\arabic{#1}][\@result]%
      \csname p@#1\endcsname\csname the#1\endcsname}}
  \let\refstepcounter@noarg\cref@old@refstepcounter%
  \def\refstepcounter@optarg[#1]#2{%
    \cref@old@refstepcounter{#2}%
    \protected@xdef\cref@currentlabel{%
      \expandafter\cref@override@label@type%
        \cref@currentlabel\@nil{#1}}}
  \renewcommand\appendix{%
    \cref@old@appendix%
    \@ifundefined{chapter}{%
      \def\H@refstepcounter##1{%
        \cref@old@H@refstepcounter{##1}%
        \cref@constructprefix{##1}{\@result}%
        \ifx\@result\@empty%
          \def\@result{2147483647}%
        \else%
          \edef\@result{2147483647,\@result}%
        \fi%
        \def\@tmpa{##1}%
        \def\@tmpb{section}%
        \ifx\@tmpa\@tmpb%
          \protected@xdef\cref@currentlabel{%
            [appendix][\arabic{##1}][\@result]%
            \csname p@##1\endcsname\csname the##1\endcsname}%
        \else%
          \def\@tmpa{##1}%
          \def\@tmpb{subsection}%
          \ifx\@tmpa\@tmpb%
            \protected@xdef\cref@currentlabel{%
              [subappendix][\arabic{##1}][\@result]%
              \csname p@##1\endcsname\csname the##1\endcsname}%
          \else%
            \def\@tmpa{##1}%
            \def\@tmpb{subsubsection}%
            \ifx\@tmpa\@tmpb%
              \protected@xdef\cref@currentlabel{%
                [subsubappendix][\arabic{##1}][\@result]%
                \csname p@##1\endcsname\csname the##1\endcsname}%
            \else%
              \@ifundefined{cref@##1@alias}%
                {\def\@tmpa{##1}}%
                {\def\@tmpa{\csname cref@##1@alias\endcsname}}%
              \protected@xdef\cref@currentlabel{%
                [\@tmpa][\arabic{##1}][\@result]%
                \csname p@##1\endcsname\csname the##1\endcsname}
            \fi%
          \fi%
        \fi}%
    }{%
      \def\H@refstepcounter##1{%
        \cref@old@H@refstepcounter{##1}%
        \cref@constructprefix{##1}{\@result}%
        \ifx\@result\@empty%
          \def\@result{2147483647}%
        \else%
          \edef\@result{2147483647,\@result}%
        \fi%
        \def\@tmpa{##1}%
        \def\@tmpb{chapter}%
        \ifx\@tmpa\@tmpb%
          \protected@xdef\cref@currentlabel{%
            [appendix][\arabic{##1}][\@result]%
            \csname p@##1\endcsname\csname the##1\endcsname}%
        \else%
          \def\@tmpa{##1}%
          \def\@tmpb{section}%
          \ifx\@tmpa\@tmpb%
            \protected@xdef\cref@currentlabel{%
              [subappendix][\arabic{##1}][\@result]%
              \csname p@##1\endcsname\csname the##1\endcsname}%
          \else%
            \def\@tmpa{##1}%
            \def\@tmpb{subsection}%
            \ifx\@tmpa\@tmpb%
              \protected@xdef\cref@currentlabel{%
                [subsubappendix][\arabic{##1}][\@result]%
                \csname p@##1\endcsname\csname the##1\endcsname}%
            \else%
              \def\@tmpa{##1}%
              \def\@tmpb{subsubsection}%
              \ifx\@tmpa\@tmpb%
                \protected@xdef\cref@currentlabel{%
                  [subsubsubappendix][\arabic{##1}][\@result]%
                  \csname p@##1\endcsname\csname the##1\endcsname}%
              \else%
                \@ifundefined{cref@##1@alias}%
                  {\def\@tmpa{##1}}%
                  {\def\@tmpa{\csname cref@##1@alias\endcsname}}%
                \protected@xdef\cref@currentlabel{%
                  [\@tmpa][\arabic{##1}][\@result]%
                  \csname p@##1\endcsname\csname the##1\endcsname}
              \fi%
            \fi%
          \fi%
        \fi}%
    }%
  }
  \DeclareRobustCommand{\cref}{%
    \@ifstar{\@crefstar{cref}}{\@crefnostar{cref}}}
  \DeclareRobustCommand{\Cref}{%
    \@ifstar{\@crefstar{Cref}}{\@crefnostar{Cref}}}
  \def\@crefnostar#1#2{\@cref{#1}{#2}}
  \def\@crefstar#1#2{%
    \@crefstarredtrue\@cref{#1}{#2}\@crefstarredfalse}
  \DeclareRobustCommand{\crefrange}{%
    \@ifstar{\@crefrangestar{cref}}{\@crefrangenostar{cref}}}
  \DeclareRobustCommand{\Crefrange}{%
    \@ifstar{\@crefrangestar{Cref}}{\@crefrangenostar{Cref}}}
  \def\@crefrangenostar#1#2#3{\@setcrefrange{#2}{#3}{#1}{}}
  \def\@crefrangestar#1#2#3{%
    \@crefstarredtrue\@setcrefrange{#2}{#3}{#1}{}\@crefstarredfalse}
  \def\@@setcref#1#2{%
    \cref@getlabel{#2}{\@tmplabel}%
    \if@crefstarred%
      #1{\@tmplabel}{}{}%
    \else%
      \edef\@tmplink{\cref@hyperref{#2}}%
      #1{\@tmplabel}{\hyper@linkstart{link}{\@tmplink}}{\hyper@linkend}%
    \fi}
  \def\@@setcrefrange#1#2#3{%
    \cref@getlabel{#2}{\@labela}%
    \cref@getlabel{#3}{\@labelb}%
    \if@crefstarred%
      #1{\@labela}{\@labelb}{}{}{}{}%
    \else%
      \edef\@linka{\cref@hyperref{#2}}%
      \edef\@linkb{\cref@hyperref{#3}}%
      #1{\@labela}{\@labelb}%
        {\hyper@linkstart{link}{\@linka}}{\hyper@linkend}%
        {\hyper@linkstart{link}{\@linkb}}{\hyper@linkend}%
    \fi}%
}{}%  end of \@ifpackageloaded{hyperref}
  \@ifpackageloaded{ntheorem}{%
  \PackageInfo{cleveref}{`ntheorem' support loaded}
  \@ifpackagewith{ntheorem}{thref}{%
    \PackageWarning{cleveref}{`cleveref' supersedes `ntheorem's `thref'
      option}%
    \renewcommand{\thref}{\cref}}{}
  \@ifundefined{theorem@prework}{\let\theorem@prework\relax}{}
  \gdef\@thm#1#2#3{%
    \if@thmmarks%
      \stepcounter{end\InTheoType ctr}%
    \fi%
    \renewcommand{\InTheoType}{#1}%
    \if@thmmarks%
      \stepcounter{curr#1ctr}%
      \setcounter{end#1ctr}{0}%
    \fi%
    \refstepcounter[#1]{#2}%  <<< cleveref modification
    \theorem@prework%
    \thm@topsepadd \theorempostskipamount%
    \ifvmode \advance\thm@topsepadd\partopsep\fi%
    \trivlist%
    \@topsep \theorempreskipamount%
    \@topsepadd \thm@topsepadd%
    \advance\linewidth -\theorem@indent%
    \advance\@totalleftmargin \theorem@indent%
    \parshape \@ne \@totalleftmargin \linewidth%
    \@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}%]
  }
  }{}%  end of \@ifpackageloaded{ntheorem}
\let\cref@old@othm\@othm
\def\@othm#1[#2]#3{%
  \edef\@tmpa{\expandafter\noexpand%
    \csname cref@#1@name@preamble\endcsname}%
  \expandafter\expandafter\expandafter\gdef\expandafter%
  \@tmpa\expandafter{\MakeLowercase #3}%
  \edef\@tmpa{\expandafter\noexpand%
    \csname Cref@#1@name@preamble\endcsname}%
  \expandafter\expandafter\expandafter\gdef\expandafter%
  \@tmpa\expandafter{\MakeUppercase #3}%
  \cref@stack@add{#1}{\cref@label@types}%
  \cref@old@othm{#1}[#2]{#3}}
\let\cref@old@xnthm\@xnthm
\def\@xnthm#1#2[#3]{%
  \edef\@tmpa{\expandafter\noexpand%
    \csname cref@#1@name@preamble\endcsname}%
  \expandafter\expandafter\expandafter\gdef\expandafter%
  \@tmpa\expandafter{\MakeLowercase #2}%
  \edef\@tmpa{\expandafter\noexpand%
    \csname Cref@#1@name@preamble\endcsname}%
  \expandafter\expandafter\expandafter\gdef\expandafter%
  \@tmpa\expandafter{\MakeUppercase #2}%
  \cref@stack@add{#1}{\cref@label@types}%
  \cref@old@xnthm{#1}{#2}[#3]}
\let\cref@old@ynthm\@ynthm
\def\@ynthm#1#2{%
  \edef\@tmpa{\expandafter\noexpand%
    \csname cref@#1@name@preamble\endcsname}%
  \expandafter\expandafter\expandafter\gdef\expandafter%
  \@tmpa\expandafter{\MakeLowercase #2}%
  \edef\@tmpa{\expandafter\noexpand%
    \csname Cref@#1@name@preamble\endcsname}%
  \expandafter\expandafter\expandafter\gdef\expandafter%
  \@tmpa\expandafter{\MakeUppercase #2}%
  \cref@stack@add{#1}{\cref@label@types}%
  \cref@old@ynthm{#1}{#2}}
  \@ifpackageloaded{amsthm}{%
  \PackageInfo{cleveref}{`amsthm' support loaded}
\let\cref@thmnoarg\@thm
\def\@thm{\@ifnextchar[{\cref@thmoptarg}{\cref@thmnoarg}}%]
\def\cref@thmoptarg[#1]#2#3#4{%
  \ifhmode\unskip\unskip\par\fi%
  \normalfont%
  \trivlist%
  \let\thmheadnl\relax%
  \let\thm@swap\@gobble%
  \thm@notefont{\fontseries\mddefault\upshape}%
  \thm@headpunct{.}% add period after heading
  \thm@headsep 5\p@ plus\p@ minus\p@\relax%
  \thm@space@setup%
  #2% style overrides
  \@topsep \thm@preskip               % used by thm head
  \@topsepadd \thm@postskip           % used by \@endparenv
  \def\@tempa{#3}\ifx\@empty\@tempa%
    \def\@tempa{\@oparg{\@begintheorem{#4}{}}[]}%
  \else%
    \refstepcounter[#1]{#3}%  <<< cleveref modification
    \def\@tempa{\@oparg{\@begintheorem{#4}{\csname the#3\endcsname}}[]}%
  \fi%
  \@tempa}
\def\@ynthm#1[#2]#3{%
  \edef\@tmpa{\expandafter\noexpand%
    \csname cref@#1@name@preamble\endcsname}%
  \expandafter\expandafter\expandafter\gdef\expandafter%
  \@tmpa\expandafter{\MakeLowercase #3}%
  \edef\@tmpa{\expandafter\noexpand%
    \csname Cref@#1@name@preamble\endcsname}%
  \expandafter\expandafter\expandafter\gdef\expandafter%
  \@tmpa\expandafter{\MakeUppercase #3}%
  \cref@stack@add{#1}{\cref@label@types}%
  \ifx\relax#2\relax%
    \def\@tempa{\@oparg{\@xthm{#1}{#3}}[]}%
  \else%
    \@ifundefined{c@#2}{%
      \def\@tempa{\@nocounterr{#2}}%
    }{%
      \@xp\xdef\csname the#1\endcsname{\@xp\@nx\csname the#2\endcsname}%
      \toks@{#3}%
      \@xp\xdef\csname#1\endcsname{%
        \@nx\@thm[#1]{%  <<< new optional argument for theorem name
          \let\@nx\thm@swap%
            \if S\thm@swap\@nx\@firstoftwo\else\@nx\@gobble\fi%
          \@xp\@nx\csname th@\the\thm@style\endcsname}%
            {#2}{\the\toks@}}%
      \let\@tempa\relax%
    }%
  \fi%
  \@tempa}
  \let\@xnthm\cref@old@xnthm
  }{}%  end of \@ifpackageloaded{amsthm}
  \@ifpackageloaded{algorithm}{%
  \PackageInfo{cleveref}{`algorithm' support loaded}
  \let\cref@old@ALG@step\ALG@step
  \def\ALG@step{%
    \cref@old@ALG@step%
    \addtocounter{ALG@line}{-1}%
    \refstepcounter[line]{ALG@line}}
  }{}%  end of \@ifpackageloaded{algorithm}
  \@ifpackageloaded{listings}{%
  \PackageInfo{cleveref}{`listings' support loaded}
  \crefalias{lstnumber}{line}}{}%  end of \@ifpackageloaded{listings}
  \@ifpackageloaded{subfig}{%
  \PackageInfo{cleveref}{`subfig' support loaded}
  \AtBeginDocument{
    \let\cref@old@refsteponlycounter\refsteponlycounter
    \def\refsteponlycounter{%
      \@ifnextchar[{\refstepcounter@optarg}%
        {\cref@old@refsteponlycounter}%]
    }}
  }{}%  end of \@ifpackageloaded{subfig}
\@ifpackageloaded{varioref}{%
    \PackageInfo{cleveref}{`varioref' support loaded}
    \PackageInfo{cleveref}{`cleveref' supersedes `varioref's %
      \string\labelformat command}
  \AtBeginDocument{%
    \def\cref@vref#1#2{%
      \if@cref@legacyvarioref%
        \leavevmode\unskip\vref@space%
      \fi%
      \@cref{#1}{#2} % space here is deliberate
      \begingroup%
        \def\@tmpstack{#2,\@nil}%
        \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}%
        \ifx\@lastref\@empty%
          \vpageref[\unskip]{#2}%
        \else%
          \edef\@tmpa{{\@firstref}{\@lastref}}%
          \expandafter\def\expandafter\@tmpa\expandafter{%
            \expandafter[\expandafter\unskip\expandafter]%
            \@tmpa}%
          \expandafter\vpagerefrange\@tmpa%
        \fi%
      \endgroup}
    \def\cref@vrefrange#1#2#3{%
      \@setcrefrange{#2}{#3}{#1}{} \vpagerefrange[\unskip]{#2}{#3}}
    \def\cref@fullref#1#2{%
      \@cref{#1}{#2} % space here is deliberate
      \begingroup%
        \def\@tmpstack{#2,\@nil}%
        \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}%
        \ifx\@lastref\@empty%
          \reftextfaraway{#2}%
        \else%
          \expandafter\vrefpagenum\expandafter%
            \@tmpa\expandafter{\@firstref}%
          \expandafter\vrefpagenum\expandafter%
            \@tmpb\expandafter{\@lastref}%
          \ifx\@tmpa\@tmpb%
            \expandafter\reftextfaraway\expandafter{\@firstref}%
          \else%
            \edef\@tmpa{{\@firstref}{\@lastref}}%
            \expandafter\reftextpagerange\@tmpa%
          \fi%
        \fi%
      \endgroup}
    \if@cref@legacyvarioref%
      \def\vr@f#1{\cref@vref{cref}{#1}}
      \def\Vr@f#1{\cref@vref{Cref}{#1}}
      \renewcommand\vrefrange[3][\reftextcurrent]{%
        \crefrange{#2}{#3} \vpagerefrange[\unskip]{#2}{#3}}
      \def\fullref#1{\cref@fullref{cref}{#1}}
    \else%
      \@ifpackageloaded{hyperref}{%
        \DeclareRobustCommand{\vref}{%
          \@ifstar{\cref@vrefstar{cref}}{\cref@vref{cref}}}
        \DeclareRobustCommand{\Vref}{%
          \@ifstar{\cref@vrefstar{Cref}}{\cref@vref{Cref}}}
        \DeclareRobustCommand{\vrefrange}{%
          \@ifstar{\cref@vrefrangestar{cref}}{\cref@vrefrange{cref}}}
        \DeclareRobustCommand{\Vrefrange}{%
          \@ifstar{\cref@vrefrangestar{Cref}}{\cref@vrefrange{Cref}}}
        \DeclareRobustCommand{\fullref}{%
          \@ifstar{\cref@fullrefstar{cref}}{\cref@fullref{cref}}}
        \DeclareRobustCommand{\Fullref}{%
          \@ifstar{\cref@fullrefstar{Cref}}{\cref@fullref{Cref}}}
        \def\cref@vrefstar#1#2{%
          \@crefstarredtrue%
          \cref@vref{#1}{#2}%
          \@crefstarredfalse}
        \def\cref@vrefrangestar#1#2#3{%
          \@crefstarredtrue%
          \cref@vrefrange{#1}{#2}{#3}%
          \@crefstarredfalse}
        \def\cref@fullrefstar#1#2{%
          \@crefstarredtrue%
          \cref@fullref{#1}{#2}%
          \@crefstarredfalse}
      }{%
        \DeclareRobustCommand{\vref}{\cref@vref{cref}}
        \DeclareRobustCommand{\Vref}{\cref@vref{Cref}}
        \DeclareRobustCommand{\vrefrange}{\cref@vrefrange{cref}}
        \DeclareRobustCommand{\Vrefrange}{\cref@vrefrange{Cref}}
        \DeclareRobustCommand{\fullref}{\cref@fullref{cref}}
        \DeclareRobustCommand{\Fullref}{\cref@fullref{Cref}}
      }
    \fi%
   }%  end of \AtBeginDocument
 }{}%  end of \@ifpackageloaded{varioref}
\let\if@cref@legacyvarioref\iffalse
\DeclareOption{legacyvarioref}{%
  \PackageInfo{cleveref}{legacy `varioref' compatibility enabled}
  \let\if@cref@legacyvarioref\iftrue}
\DeclareOption{poorman}{%
  \PackageInfo{cleveref}{option `poorman' loaded}
  \gdef\cref@poorman@text{}
  \AtBeginDocument{%
    \newwrite\@crefscript%
    \immediate\openout\@crefscript=\jobname.sed}
  \newif\if@cref@switched@language
  \@ifpackageloaded{babel}{%
    \AtBeginDocument{%
      \let\cref@old@select@language\select@language
      \def\select@language{%
        \@cref@switched@languagetrue%
        \cref@writelanguagerules%
        \cref@old@select@language}
      \let\cref@old@foreign@language\foreign@language
      \def\foreign@language{%
        \@cref@switched@languagetrue%
        \cref@writelanguagerules%
        \cref@old@foreign@language}
      \edef\cref@inputlineno{\the\inputlineno}}%
    }{}
  \AtEndDocument{%
    \let\select@language\cref@old@select@language%
    \let\foreign@language\cref@old@foreign@language%
    \cref@writelanguagerules}
  \def\cref@writelanguagerules{%
    \begingroup%
      \if@cref@switched@language%
        \edef\@address{\cref@inputlineno,\the\inputlineno}%
      \else%
        \def\@address{}%
      \fi%
      \expandafter\def\expandafter\cref@poorman@text\expandafter{%
        \crefrangeconjunction}%
      \expandafter\def\expandafter\@tmpa\expandafter{%
        \expandafter{\@address}{\string\crefrangeconjunction}}%
      \expandafter\cref@writescript\@tmpa%
      \expandafter\def\expandafter\cref@poorman@text\expandafter{%
        \crefrangepreconjunction}%
      \expandafter\def\expandafter\@tmpa\expandafter{%
        \expandafter{\@address}{\string\crefrangepreconjunction}}%
      \expandafter\cref@writescript\@tmpa%
      \expandafter\def\expandafter\cref@poorman@text\expandafter{%
        \crefrangepostconjunction}%
      \expandafter\def\expandafter\@tmpa\expandafter{%
        \expandafter{\@address}{\string\crefrangepostconjunction}}%
      \expandafter\cref@writescript\@tmpa%
      \expandafter\def\expandafter\cref@poorman@text\expandafter{%
        \crefpairconjunction}%
      \expandafter\def\expandafter\@tmpa\expandafter{%
        \expandafter{\@address}{\string\crefpairconjunction}}%
      \expandafter\cref@writescript\@tmpa%
      \expandafter\def\expandafter\cref@poorman@text\expandafter{%
        \crefmiddleconjunction}%
      \expandafter\def\expandafter\@tmpa\expandafter{%
        \expandafter{\@address}{\string\crefmiddleconjunction}}%
      \expandafter\cref@writescript\@tmpa%
      \expandafter\def\expandafter\cref@poorman@text\expandafter{%
        \creflastconjunction}%
      \expandafter\def\expandafter\@tmpa\expandafter{%
        \expandafter{\@address}{\string\creflastconjunction}}%
      \expandafter\cref@writescript\@tmpa%
      \expandafter\def\expandafter\cref@poorman@text\expandafter{%
        \crefpairgroupconjunction}%
      \expandafter\def\expandafter\@tmpa\expandafter{%
        \expandafter{\@address}{\string\crefpairgroupconjunction}}%
      \expandafter\cref@writescript\@tmpa%
      \expandafter\def\expandafter\cref@poorman@text\expandafter{%
        \crefmiddlegroupconjunction}%
      \expandafter\def\expandafter\@tmpa\expandafter{%
        \expandafter{\@address}{\string\crefmiddlegroupconjunction}}%
      \expandafter\cref@writescript\@tmpa%
      \expandafter\def\expandafter\cref@poorman@text\expandafter{%
        \creflastgroupconjunction}%
      \expandafter\def\expandafter\@tmpa\expandafter{%
        \expandafter{\@address}{\string\creflastgroupconjunction}}%
      \expandafter\cref@writescript\@tmpa%
      \let\@tmpstack\cref@label@types%
      \cref@isstackfull{\@tmpstack}%
      \@whilesw\if@cref@stackfull\fi{%
        \edef\@tmpa{\cref@stack@top{\@tmpstack}}%
        \expandafter\expandafter\expandafter\def%
        \expandafter\expandafter\expandafter\cref@poorman@text%
        \expandafter\expandafter\expandafter{%
          \csname cref@\@tmpa @name\endcsname}%
        \edef\@tmpa{%
          \string\cref@\expandafter\noexpand\@tmpa @name\space}%
        \expandafter\expandafter\expandafter\def%
        \expandafter\expandafter\expandafter\@tmpa%
        \expandafter\expandafter\expandafter{%
          \expandafter\expandafter\expandafter{%
            \expandafter\@address\expandafter}%
          \expandafter{\@tmpa}}%
        \expandafter\cref@writescript\@tmpa%
        \edef\@tmpa{\cref@stack@top{\@tmpstack}}%
        \expandafter\expandafter\expandafter\def%
        \expandafter\expandafter\expandafter\cref@poorman@text%
        \expandafter\expandafter\expandafter{%
          \csname cref@\@tmpa @name@plural\endcsname}%
        \edef\@tmpa{%
          \string\cref@\expandafter\noexpand\@tmpa%
          @name@plural\space}%
        \expandafter\expandafter\expandafter\def%
        \expandafter\expandafter\expandafter\@tmpa%
        \expandafter\expandafter\expandafter{%
          \expandafter\expandafter\expandafter{%
            \expandafter\@address\expandafter}%
          \expandafter{\@tmpa}}%
        \expandafter\cref@writescript\@tmpa%
        \edef\@tmpa{\cref@stack@top{\@tmpstack}}%
        \expandafter\expandafter\expandafter\def%
        \expandafter\expandafter\expandafter\cref@poorman@text%
        \expandafter\expandafter\expandafter{%
          \csname Cref@\@tmpa @name\endcsname}%
        \edef\@tmpa{%
          \string\Cref@\expandafter\noexpand\@tmpa @name\space}%
        \expandafter\expandafter\expandafter\def%
        \expandafter\expandafter\expandafter\@tmpa%
        \expandafter\expandafter\expandafter{%
          \expandafter\expandafter\expandafter%
          {\expandafter\@address\expandafter}%
          \expandafter{\@tmpa}}%
        \expandafter\cref@writescript\@tmpa%
        \edef\@tmpa{\cref@stack@top{\@tmpstack}}%
        \expandafter\expandafter\expandafter\def%
        \expandafter\expandafter\expandafter\cref@poorman@text%
        \expandafter\expandafter\expandafter{%
          \csname Cref@\@tmpa @name@plural\endcsname}%
        \edef\@tmpa{%
          \string\Cref@\expandafter\noexpand\@tmpa%
          @name@plural\space}%
        \expandafter\expandafter\expandafter\def%
        \expandafter\expandafter\expandafter\@tmpa%
        \expandafter\expandafter\expandafter{%
          \expandafter\expandafter\expandafter%
          {\expandafter\@address\expandafter}%
          \expandafter{\@tmpa}}%
        \expandafter\cref@writescript\@tmpa%
        \cref@stack@pop{\@tmpstack}%
        \cref@isstackfull{\@tmpstack}}%
    \endgroup%
    \edef\cref@inputlineno{\the\inputlineno}}%
  \AtEndDocument{%
    \immediate\closeout\@crefscript%
    \newread\@crefscript%
    \immediate\openin\@crefscript=\jobname.sed%
    \begingroup%
      \newif\if@not@eof%
      \def\@eof{\par }%
      \catcode`.=13 \catcode`*=13
      \catcode`[=13 \catcode`]=13
      \catcode`^=13 \catcode`$=13 %$
      \catcode`\=0 \catcode`<=1 \catcode`>=2
      \catcode`\\=13 \catcode`\{=12 \catcode`\}=12 \catcode`_=12
      \lccode`/=92
      \lccode`~=92\lowercase{\def~{\string/\string/}}%
      \lccode`~=42\lowercase{\def~{\string/\string*}}%
      \lccode`~=46\lowercase{\def~{\string/\string.}}%
      \lccode`~=91\lowercase{\def~{\string/\string[}}%
      \lccode`~=93\lowercase{\def~{\string/\string]}}%
      \lccode`~=94\lowercase{\def~{\string/\string^}}%
      \lccode`~=36\lowercase{\def~{\string/\string$}}% $
      \lccode`~=0 \lccode`/=0 \catcode`~=12
      \def\cref@poorman@text{}%
      \immediate\read\@crefscript to \@tmpa%
      \ifx\@tmpa\@eof%
        \@not@eoffalse%
      \else%
        \@not@eoftrue%
        \edef\@tmpa{\@tmpa}%
      \fi%
      \@whilesw\if@not@eof\fi{%
        \expandafter\g@addto@macro\expandafter%
          \cref@poorman@text\expandafter{\@tmpa^^J}%
        \immediate\read\@crefscript to \@tmpa%
        \ifx\@tmpa\@eof%
          \@not@eoffalse%
        \else%
          \@not@eoftrue%
          \edef\@tmpa{\@tmpa}%
        \fi}%
    \endgroup%
    \immediate\closein\@crefscript%
    \begingroup%
      \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67
      \lowercase{\def\@tmpa{%[
          s/||label|[[^]]*|]/||label/g}}
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||usepackage|(|[.*|]|)|<0,1|><cleveref>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refformat<.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refrangeformat<.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refmultiformat<.*><.*><.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||[cC]refrangemultiformat<.*><.*><.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refname<.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]reflabelformat<.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refrangelabelformat<.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refdefaultlabelformat<.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||crefpairconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||crefpairgroupconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||crefmiddleconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||crefmiddlegroupconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||creflastconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||creflastgroupconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||renewcommand<||[cC]ref><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||renewcommand<||[cC]refrange><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
    \endgroup%
    \newwrite\@crefscript%
    \immediate\openout\@crefscript=\jobname.sed%
    \immediate\write\@crefscript{\cref@poorman@text}%
    \immediate\closeout\@crefscript%
  }%  end of \AtEndDocument
  \def\cref@getmeaning#1{\expandafter\@cref@getmeaning\meaning#1\@nil}
  \def\@cref@getmeaning#1->#2\@nil{#2}
  \def\cref@writescript#1#2{%
    \edef\@tmpa{\cref@getmeaning{\cref@poorman@text}}%
    \immediate\write\@crefscript{#1 s/#2/\@tmpa/g}}
  \@ifpackageloaded{hyperref}{%
    \def\@crefnostar#1#2{%
      \gdef\cref@poorman@text{}%
      \@cref{#1}{#2}%
      \def\@tmpa##1##2\@nil{%
        \if##1c%
          \cref@writescript{}{\string\cref\string{#2\string}}%
        \else%
          \cref@writescript{}{\string\Cref\string{#2\string}}%
        \fi}%
      \@tmpa#1\@nil}
    \def\@crefstar#1#2{%
      \gdef\cref@poorman@text{}%
      \@crefstarredtrue\@cref{#1}{#2}\@crefstarredfalse%
      \def\@tmpa##1##2\@nil{%
        \if##1c%
          \cref@writescript{}{\string\cref*\string{#2\string}}%
        \else%
          \cref@writescript{}{\string\Cref*\string{#2\string}}%
        \fi}%
      \@tmpa#1\@nil}
    \def\@crefrangenostar#1#2#3{%
      \gdef\cref@poorman@text{}%
      \@setcrefrange{#2}{#3}{#1}{}%
      \def\@tmpa##1##2\@nil{%
        \if##1c%
          \cref@writescript{}{%
            \string\crefrange\string{#2\string}\string{#3\string}}%
        \else%
          \cref@writescript{}{%
            \string\Crefrange\string{#2\string}\string{#3\string}}%
        \fi}%
      \@tmpa#1\@nil}
    \def\@crefrangestar#1#2#3{%
      \gdef\cref@poorman@text{}%
      \@crefstarredtrue\@setcrefrange{#2}{#3}{#1}{}\@crefstarredfalse%
      \def\@tmpa##1##2\@nil{%
        \if##1c%
          \cref@writescript{}{%
            \string\crefrange*\string{#2\string}\string{#3\string}}%
        \else%
          \cref@writescript{}{%
            \string\Crefrange*\string{#2\string}\string{#3\string}}%
        \fi}%
      \@tmpa#1\@nil}
  }{%
    \DeclareRobustCommand{\cref}[1]{%
      \edef\cref@poorman@text{}%
      \@cref{cref}{#1}%
      \cref@writescript{}{\string\cref\string{#1\string}}}
    \DeclareRobustCommand{\Cref}[1]{%
      \edef\cref@poorman@text{}%
      \@cref{Cref}{#1}%
      \cref@writescript{}{\string\Cref\string{#1\string}}}
    \DeclareRobustCommand{\crefrange}[2]{%
      \edef\cref@poorman@text{}%
      \@setcrefrange{#1}{#2}{cref}{}%
      \cref@writescript{}{%
        \string\crefrange\string{#1\string}\string{#2\string}}}
    \DeclareRobustCommand{\Crefrange}[2]{%
      \edef\cref@poorman@text{}%
      \@setcrefrange{#1}{#2}{Cref}{}%
      \cref@writescript{}{%
        \string\Crefrange\string{#1\string}\string{#2\string}}}
  }
  \@ifpackageloaded{varioref}{%
    \AtBeginDocument{%
      \if@cref@legacyvarioref%
        \DeclareRobustCommand{\vref}{%
          \@ifstar{\cref@vrefstar{cref}}{\cref@vref{cref}}}
        \def\cref@vrefstar#1#2{%
          \@crefstarredtrue\cref@vref{#1}{#2}\@crefstarredfalse}
      \fi%
      \def\cref@vref#1#2{%
        \gdef\cref@poorman@text{}%
        \if@cref@legacyvarioref%
          \leavevmode\unskip\vref@space%
        \fi%
        \begingroup%
          \let\if@tmp\if@crefstarred%
          \if@cref@legacyvarioref\@crefstarredfalse\fi%
          \@cref{#1}{#2} % space here is deliberate
          \let\if@crefstarred\if@tmp%
          \def\@tmpstack{#2,\@nil}%
          \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}%
          \ifx\@lastref\@empty%
            \vpageref[\unskip]{#2}%
            \g@addto@macro\cref@poorman@text{ \vpageref[\unskip]{#2}}%
          \else%
            \g@addto@macro\cref@poorman@text{ }%
            \edef\@tmpa{{\@firstref}{\@lastref}}%
            \expandafter\def\expandafter\@tmpa\expandafter{%
              \expandafter[\expandafter\unskip\expandafter]%
              \@tmpa}%
            \expandafter\vpagerefrange\@tmpa%
            \expandafter\g@addto@macro\expandafter\cref@poorman@text%
              \expandafter{\expandafter\vpagerefrange\@tmpa}%
          \fi%
          \def\@tmpa##1##2\@nil{%
            \if##1c%
              \if@crefstarred%
                \cref@writescript{}{\string\vref*\string{#2\string}}%
              \else%
                \cref@writescript{}{\string\vref\string{#2\string}}%
              \fi%
            \else%
              \if@crefstarred%
                \cref@writescript{}{\string\Vref*\string{#2\string}}%
              \else%
                \cref@writescript{}{\string\Vref\string{#2\string}}%
              \fi%
            \fi}%
          \@tmpa#1\@nil%
        \endgroup}
      \def\cref@vrefrange#1#2#3{%
        \gdef\cref@poorman@text{}%
        \@setcrefrange{#2}{#3}{#1}{} \vpagerefrange[\unskip]{#2}{#3}%
        \g@addto@macro\cref@poorman@text%
          { \vpagerefrange[\unskip]{#2}{#3}}%
        \def\@tmpa##1##2\@nil{%
          \if##1c%
            \if@crefstarred%
              \cref@writescript{}{%
                \string\vrefrange*\string{#2\string}\string{#3\string}}%
            \else%
              \cref@writescript{}{%
                \string\vrefrange\string{#2\string}\string{#3\string}}%
            \fi%
          \else%
            \if@crefstarred%
              \cref@writescript{}{%
                \string\Vrefrange*\string{#2\string}\string{#3\string}}%
            \else%
              \cref@writescript{}{%
                \string\Vrefrange\string{#2\string}\string{#3\string}}%
            \fi%
          \fi}%
        \@tmpa#1\@nil}
      \def\cref@fullref#1#2{%
        \gdef\cref@poorman@text{}%
        \begingroup%
          \@cref{#1}{#2} % space here is deliberate
          \def\@tmpstack{#2,\@nil}%
          \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}%
          \ifx\@lastref\@empty%
            \reftextfaraway{#2}%
            \def\@pageref{\reftextfaraway{#1}}%
          \else%
            \expandafter\vrefpagenum\expandafter%
              \@tmpa\expandafter{\@firstref}%
            \expandafter\vrefpagenum\expandafter%
              \@tmpb\expandafter{\@lastref}%
            \ifx\@tmpa\@tmpb%
              \expandafter\reftextfaraway\expandafter{\@firstref}%
              \expandafter\def\expandafter\@pageref\expandafter{%
                \expandafter\reftextfaraway\expandafter{\@firstref}}%
            \else%
              \edef\@tmpa{{\@firstref}{\@lastref}}%
              \expandafter\reftextpagerange\@tmpa%
              \expandafter\def\expandafter\@pageref\expandafter{%
                \expandafter\reftextpagerange\@tmpa}%
            \fi%
          \fi%
          \g@addto@macro\cref@poorman@text{ }%
          \expandafter\g@addto@macro\expandafter\cref@poorman@text%
            \expandafter{\@pageref}%
          \def\@tmpa##1##2\@nil{%
            \if##1c%
              \if@crefstarred%
                \cref@writescript{}{\string\fullref*\string{#2\string}}%
              \else%
                \cref@writescript{}{\string\fullref\string{#2\string}}%
              \fi%
            \else%
              \if@crefstarred%
                \cref@writescript{}{\string\Fullref*\string{#2\string}}%
              \else%
                \cref@writescript{}{\string\Fullref\string{#2\string}}%
              \fi%
            \fi}%
          \@tmpa#1\@nil%
        \endgroup}
    }% end of \AtBeginDocument
  }{}% end of \@ifpackageloaded{varioref}
  \def\@setcref@pairgroupconjunction{%
    \crefpairgroupconjunction%
    \expandafter\g@addto@macro\expandafter\cref@poorman@text%
      \expandafter{\crefpairgroupconjunction}}
  \def\@setcref@middlegroupconjunction{%
    \crefmiddlegroupconjunction%
    \expandafter\g@addto@macro\expandafter\cref@poorman@text%
      \expandafter{\crefmiddlegroupconjunction}}
  \def\@setcref@lastgroupconjunction{%
    \creflastgroupconjunction%
    \expandafter\g@addto@macro\expandafter\cref@poorman@text%
      \expandafter{\creflastgroupconjunction}}
  \@ifpackageloaded{hyperref}{%
    \def\@@setcref#1#2{%
      \cref@getlabel{#2}{\@tmplabel}%
      \if@crefstarred%
        #1{\@tmplabel}{}{}%
        \expandafter\g@addto@macro\expandafter\cref@poorman@text%
          \expandafter{#1{\ref*{#2}}{}{}}%
      \else%
        \edef\@tmplink{\cref@hyperref{#2}}%
        #1{\@tmplabel}{\hyper@linkstart{link}{\@tmplink}}%
          {\hyper@linkend}%
        \expandafter\g@addto@macro\expandafter\cref@poorman@text%
          \expandafter{#1{\ref{#2}}{}{}}%
      \fi}
    \def\@@setcrefrange#1#2#3{%
      \cref@getlabel{#2}{\@labela}%
      \cref@getlabel{#3}{\@labelb}%
      \if@crefstarred%
        #1{\@labela}{\@labelb}{}{}{}{}%
        \expandafter\g@addto@macro\expandafter\cref@poorman@text%
          \expandafter{#1{\ref*{#2}}{\ref*{#3}}{}{}{}{}}%
      \else%
        \edef\@linka{\cref@hyperref{#2}}%
        \edef\@linkb{\cref@hyperref{#3}}%
        #1{\@labela}{\@labelb}%
          {\hyper@linkstart{link}{\@linka}}{\hyper@linkend}%
          {\hyper@linkstart{link}{\@linkb}}{\hyper@linkend}%
        \expandafter\g@addto@macro\expandafter\cref@poorman@text%
          \expandafter{#1{\ref{#2}}{\ref{#3}}{}{}{}{}}%
      \fi}
  }{%
    \let\old@@setcref\@@setcref%
    \let\old@@setcrefrange\@@setcrefrange%
    \def\@@setcref#1#2{%
      \old@@setcref{#1}{#2}%
      \expandafter\g@addto@macro\expandafter{%
        \expandafter\cref@poorman@text\expandafter}\expandafter{%
        #1{\ref{#2}}{}{}}}
    \def\@@setcrefrange#1#2#3{%
      \old@@setcrefrange{#1}{#2}{#3}%
      \expandafter\g@addto@macro%
        \expandafter{\expandafter\cref@poorman@text\expandafter}%
        \expandafter{#1{\ref{#2}}{\ref{#3}}{}{}{}{}}}
  }
}%  end of poorman option
\newif\if@cref@sort
\newif\if@cref@compress
\@cref@sorttrue
\@cref@compresstrue
\DeclareOption{sort}{%
  \PackageInfo{cleveref}{sorting but not compressing references}
  \@cref@sorttrue
  \@cref@compressfalse}
\DeclareOption{compress}{%
  \PackageInfo{cleveref}{compressing but not sorting references}
  \@cref@sortfalse
  \@cref@compresstrue}
\DeclareOption{sort&compress}{%
  \PackageInfo{cleveref}{sorting and compressing references}
  \@cref@sorttrue
  \@cref@compresstrue}
\DeclareOption{nosort}{%
  \PackageInfo{cleveref}{neither sorting nor compressing references}
  \@cref@sortfalse
  \@cref@compressfalse}
\newif\if@cref@capitalise
\@cref@capitalisefalse
\DeclareOption{capitalise}{%
  \PackageInfo{cleveref}{always capitalise cross-reference names}
  \@cref@capitalisetrue}
\DeclareOption{capitalize}{%
  \PackageInfo{cleveref}{always capitalise cross-reference names}
  \@cref@capitalisetrue}
\crefdefaultlabelformat{#2#1#3}
\creflabelformat{equation}{\textup{(#2#1#3)}}
\@labelcrefdefinedefaultformats
\def\cref@addto#1#2{%
  \@temptokena{#2}%
  \ifx#1\undefined%
    \edef#1{\the\@temptokena}%
  \else%
    \toks@\expandafter{#1}%
    \edef#1{\the\toks@\the\@temptokena}%
  \fi%
  \@temptokena{}\toks@\@temptokena%
}
\@onlypreamble\cref@addto
\DeclareOption{english}{%
  \PackageInfo{cleveref}{loaded `english' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{ to~}%
    \def\crefrangepreconjunction@preamble{}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ and~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ and~}%
    \def\crefpairgroupconjunction@preamble{ and~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble{, and~}%
    \Crefname@preamble{equation}{Equation}{Equations}%
    \Crefname@preamble{chapter}{Chapter}{Chapters}%
    \Crefname@preamble{section}{Section}{Sections}%
    \Crefname@preamble{appendix}{Appendix}{Appendices}%
    \Crefname@preamble{enumi}{Item}{Items}%
    \Crefname@preamble{footnote}{Footnote}{Footnotes}%
    \Crefname@preamble{figure}{Figure}{Figures}%
    \Crefname@preamble{table}{Table}{Tables}%
    \Crefname@preamble{theorem}{Theorem}{Theorems}%
    \Crefname@preamble{lemma}{Lemma}{Lemmas}%
    \Crefname@preamble{corollary}{Corollary}{Corollaries}%
    \Crefname@preamble{proposition}{Proposition}{Propositions}%
    \Crefname@preamble{definition}{Definition}{Definitions}%
    \Crefname@preamble{result}{Result}{Results}%
    \Crefname@preamble{example}{Example}{Examples}%
    \Crefname@preamble{remark}{Remark}{Remarks}%
    \Crefname@preamble{note}{Note}{Notes}%
    \Crefname@preamble{algorithm}{Algorithm}{Algorithms}%
    \Crefname@preamble{line}{Line}{Lines}%
    \if@cref@capitalise%
      \crefname@preamble{equation}{Eq.}{Eqs.}%
      \crefname@preamble{chapter}{Chapter}{Chapters}%
      \crefname@preamble{section}{Section}{Sections}%
      \crefname@preamble{appendix}{Appendix}{Appendices}%
      \crefname@preamble{enumi}{Item}{Items}%
      \crefname@preamble{footnote}{Footnote}{Footnotes}%
      \crefname@preamble{figure}{Fig.}{Figs.}%
      \crefname@preamble{table}{Table}{Tables}%
      \crefname@preamble{theorem}{Theorem}{Theorems}%
      \crefname@preamble{lemma}{Lemma}{Lemmas}%
      \crefname@preamble{corollary}{Corollary}{Corollaries}%
      \crefname@preamble{proposition}{Proposition}{Propositions}%
      \crefname@preamble{definition}{Definition}{Definitions}%
      \crefname@preamble{result}{Result}{Results}%
      \crefname@preamble{example}{Example}{Examples}%
      \crefname@preamble{remark}{Remark}{Remarks}%
      \crefname@preamble{note}{Note}{Notes}%
      \crefname@preamble{algorithm}{Algorithm}{Algorithms}%
      \crefname@preamble{line}{Line}{Lines}%
    \else%
      \crefname@preamble{equation}{eq.}{eqs.}%
      \crefname@preamble{chapter}{chapter}{chapters}%
      \crefname@preamble{section}{section}{sections}%
      \crefname@preamble{appendix}{appendix}{appendices}%
      \crefname@preamble{enumi}{item}{items}%
      \crefname@preamble{footnote}{footnote}{footnotes}%
      \crefname@preamble{figure}{fig.}{figs.}%
      \crefname@preamble{table}{table}{tables}%
      \crefname@preamble{theorem}{theorem}{theorems}%
      \crefname@preamble{lemma}{lemma}{lemmas}%
      \crefname@preamble{corollary}{corollary}{corollaries}%
      \crefname@preamble{proposition}{proposition}{propositions}%
      \crefname@preamble{definition}{definition}{definitions}%
      \crefname@preamble{result}{result}{results}%
      \crefname@preamble{example}{example}{examples}%
      \crefname@preamble{remark}{remark}{remarks}%
      \crefname@preamble{note}{note}{notes}%
      \crefname@preamble{algorithm}{algorithm}{algorithms}%
      \crefname@preamble{line}{line}{lines}%
    \fi%
    \def\cref@language{english}%
    \cref@addto\extrasenglish{%
      \renewcommand{\crefrangeconjunction}{ to~}%
      \renewcommand\crefrangepreconjunction{}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ and~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ and~}%
      \renewcommand{\crefpairgroupconjunction}{ and~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{, and~}%
      \Crefname{equation}{Equation}{Equations}%
      \Crefname{chapter}{Chapter}{Chapters}%
      \Crefname{section}{Section}{Sections}%
      \Crefname{subsection}{Section}{Sections}%
      \Crefname{subsubsection}{Section}{Sections}%
      \Crefname{appendix}{Appendix}{Appendices}%
      \Crefname{subappendix}{Appendix}{Appendices}%
      \Crefname{subsubappendix}{Appendix}{Appendices}%
      \Crefname{subsubsubappendix}{Appendix}{Appendices}%
      \Crefname{enumi}{Item}{Items}%
      \Crefname{enumii}{Item}{Items}%
      \Crefname{enumiii}{Item}{Items}%
      \Crefname{enumiv}{Item}{Items}%
      \Crefname{enumv}{Item}{Items}%
      \Crefname{footnote}{Footnote}{Footnotes}%
      \Crefname{figure}{Figure}{Figures}%
      \Crefname{subfigure}{Figure}{Figures}%
      \Crefname{table}{Table}{Tables}%
      \Crefname{subtable}{Table}{Tables}%
      \Crefname{theorem}{Theorem}{Theorems}%
      \Crefname{lemma}{Lemma}{Lemmas}%
      \Crefname{corollary}{Corollary}{Corollaries}%
      \Crefname{proposition}{Proposition}{Propositions}%
      \Crefname{definition}{Definition}{Definitions}%
      \Crefname{result}{Result}{Results}%
      \Crefname{example}{Example}{Examples}%
      \Crefname{remark}{Remark}{Remarks}%
      \Crefname{note}{Note}{Notes}%
      \Crefname{algorithm}{Algorithm}{Algorithms}%
      \Crefname{line}{Line}{Lines}%
      \if@cref@capitalise%
        \crefname{equation}{Eq.}{Eqs.}%
        \crefname{chapter}{Chapter}{Chapters}%
        \crefname{section}{Section}{Sections}%
        \crefname{subsection}{Section}{Sections}%
        \crefname{subsubsection}{Section}{Sections}%
        \crefname{appendix}{Appendix}{Appendices}%
        \crefname{subappendix}{Appendix}{Appendices}%
        \crefname{subsubappendix}{Appendix}{Appendices}%
        \crefname{subsubsubappendix}{Appendix}{Appendices}%
        \crefname{enumi}{Item}{Items}%
        \crefname{enumii}{Item}{Items}%
        \crefname{enumiii}{Item}{Items}%
        \crefname{enumiv}{Item}{Items}%
        \crefname{enumv}{Item}{Items}%
        \crefname{footnote}{Footnote}{Footnotes}%
        \crefname{figure}{Fig.}{Figs.}%
        \crefname{subfigure}{Fig.}{Figs.}%
        \crefname{table}{Table}{Tables}%
        \crefname{subtable}{Table}{Tables}%
        \crefname{theorem}{Theorem}{Theorems}%
        \crefname{lemma}{Lemma}{Lemmas}%
        \crefname{corollary}{Corollary}{Corollaries}%
        \crefname{proposition}{Proposition}{Propositions}%
        \crefname{definition}{Definition}{Definitions}%
        \crefname{result}{Result}{Results}%
        \crefname{example}{Example}{Examples}%
        \crefname{remark}{Remark}{Remarks}%
        \crefname{note}{Note}{Notes}%
        \crefname{algorithm}{Algorithm}{Algorithms}%
        \crefname{line}{Line}{Lines}%
      \else%
        \crefname{equation}{eq.}{eqs.}%
        \crefname{chapter}{chapter}{chapters}%
        \crefname{section}{section}{sections}%
        \crefname{subsection}{section}{sections}%
        \crefname{subsubsection}{section}{sections}%
        \crefname{appendix}{appendix}{appendices}%
        \crefname{subappendix}{appendix}{appendices}%
        \crefname{subsubappendix}{appendix}{appendices}%
        \crefname{subsubsubappendix}{appendix}{appendices}%
        \crefname{enumi}{item}{items}%
        \crefname{enumii}{item}{items}%
        \crefname{enumiii}{item}{items}%
        \crefname{enumiv}{item}{items}%
        \crefname{enumv}{item}{items}%
        \crefname{footnote}{footnote}{footnotes}%
        \crefname{figure}{fig.}{figs.}%
        \crefname{subfigure}{fig.}{figs.}%
        \crefname{table}{table}{tables}%
        \crefname{subtable}{table}{tables}%
        \crefname{theorem}{theorem}{theorems}%
        \crefname{lemma}{lemma}{lemmas}%
        \crefname{corollary}{corollary}{corollaries}%
        \crefname{proposition}{proposition}{propositions}%
        \crefname{definition}{definition}{definitions}%
        \crefname{result}{result}{results}%
        \crefname{example}{example}{examples}%
        \crefname{remark}{remark}{remarks}%
        \crefname{note}{note}{notes}%
        \crefname{algorithm}{algorithm}{algorithms}%
        \crefname{line}{line}{lines}%
      \fi%
    }}}
\DeclareOption{german}{%
  \PackageInfo{cleveref}{loaded `german' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{ bis~}%
    \def\crefrangepreconjunction@preamble{}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ und~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ und~}%
    \def\crefpairgroupconjunction@preamble{ und~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble{ und~}%
    \Crefname@preamble{equation}{Gleichung}{Gleichungen}%
    \Crefname@preamble{chapter}{Kapitel}{Kapitel}%
    \Crefname@preamble{section}{Abschnitt}{Abschnitte}%
    \Crefname@preamble{appendix}{Anhang}{Anh\"ange}%
    \Crefname@preamble{enumi}{Punkt}{Punkte}%
    \Crefname@preamble{footnote}{Fu\ss note}{Fu\ss noten}%
    \Crefname@preamble{figure}{Abbildung}{Abbildungen}%
    \Crefname@preamble{table}{Tabelle}{Tabellen}%
    \Crefname@preamble{theorem}{Theorem}{Theoremen}%
    \Crefname@preamble{lemma}{Lemma}{Lemmata}%
    \Crefname@preamble{corollary}{Korollar}{Korollaren}%
    \Crefname@preamble{proposition}{Satz}{S\"atze}%
    \Crefname@preamble{definition}{Definition}{Definitionen}%
    \Crefname@preamble{result}{Ergebnis}{Ergebnisse}%
    \Crefname@preamble{example}{Beispiel}{Beispiele}%
    \Crefname@preamble{remark}{Bemerkung}{Bemerkungen}%
    \Crefname@preamble{note}{Anmerkung}{Anmerkungen}%
    \Crefname@preamble{algorithm}{Algorithmus}{Algorithmen}%
    \Crefname@preamble{line}{Linie}{Linien}%
    \if@cref@capitalise%
      \crefname@preamble{equation}{Gleichung}{Gleichungen}%
      \crefname@preamble{chapter}{Kapitel}{Kapitel}%
      \crefname@preamble{section}{Abschnitt}{Abschnitte}%
      \crefname@preamble{appendix}{Anhang}{Anh\"ange}%
      \crefname@preamble{enumi}{Punkt}{Punkte}%
      \crefname@preamble{footnote}{Fu\ss note}{Fu\ss noten}%
      \crefname@preamble{figure}{Abbildung}{Abbildungen}%
      \crefname@preamble{table}{Tabelle}{Tabellen}%
      \crefname@preamble{theorem}{Theorem}{Theoremen}%
      \crefname@preamble{lemma}{Lemma}{Lemmata}%
      \crefname@preamble{corollary}{Korollar}{Korollaren}%
      \crefname@preamble{proposition}{Satz}{S\"atze}%
      \crefname@preamble{definition}{Definition}{Definitionen}%
      \crefname@preamble{result}{Ergebnis}{Ergebnisse}%
      \crefname@preamble{example}{Beispiel}{Beispiele}%
      \crefname@preamble{remark}{Bemerkung}{Bemerkungen}%
      \crefname@preamble{note}{Anmerkung}{Anmerkungen}%
      \crefname@preamble{algorithm}{Algorithmus}{Algorithmen}%
      \crefname@preamble{line}{Linie}{Linien}%
    \else%
      \crefname@preamble{equation}{Gleichung}{Gleichungen}%
      \crefname@preamble{chapter}{Kapitel}{Kapitel}%
      \crefname@preamble{section}{Abschnitt}{Abschnitte}%
      \crefname@preamble{appendix}{Anhang}{Anh\"ange}%
      \crefname@preamble{enumi}{Punkt}{Punkte}%
      \crefname@preamble{footnote}{Fu\ss note}{Fu\ss noten}%
      \crefname@preamble{figure}{Abbildung}{Abbildungen}%
      \crefname@preamble{table}{Tabelle}{Tabellen}%
      \crefname@preamble{theorem}{Theorem}{Theoremen}%
      \crefname@preamble{lemma}{Lemma}{Lemmata}%
      \crefname@preamble{corollary}{Korollar}{Korollaren}%
      \crefname@preamble{proposition}{Satz}{S\"atze}%
      \crefname@preamble{definition}{Definition}{Definitionen}%
      \crefname@preamble{result}{Ergebnis}{Ergebnisse}%
      \crefname@preamble{example}{Beispiel}{Beispiele}%
      \crefname@preamble{remark}{Bemerkung}{Bemerkungen}%
      \crefname@preamble{note}{Anmerkung}{Anmerkungen}%
      \crefname@preamble{algorithm}{algorithmus}{algorithmen}%
      \crefname@preamble{line}{linie}{linien}%
    \fi%
    \def\cref@language{german}%
    \cref@addto\extrasgerman{%
      \renewcommand{\crefrangeconjunction}{ bis~}%
      \renewcommand\crefrangepreconjunction{}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ und~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ und~}%
      \renewcommand{\crefpairgroupconjunction}{ und~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{ und~}%
      \Crefname{equation}{Gleichung}{Gleichungen}%
      \Crefname{chapter}{Kapitel}{Kapitel}%
      \Crefname{section}{Abschnitt}{Abschnitte}%
      \Crefname{subsection}{Abschnitt}{Abschnitte}%
      \Crefname{subsubsection}{Abschnitt}{Abschnitte}%
      \Crefname{appendix}{Anhang}{Anh\"ange}%
      \Crefname{subappendix}{Anhang}{Anh\"ange}%
      \Crefname{subsubappendix}{Anhang}{Anh\"ange}%
      \Crefname{subsubsubappendix}{Anhang}{Anh\"ange}%
      \Crefname{enumi}{Punkt}{Punkte}%
      \Crefname{enumii}{Punkt}{Punkte}%
      \Crefname{enumiii}{Punkt}{Punkte}%
      \Crefname{enumiv}{Punkt}{Punkte}%
      \Crefname{enumv}{Punkt}{Punkte}%
      \Crefname{footnote}{Fu\ss note}{Fu\ss noten}%
      \Crefname{figure}{Abbildung}{Abbildungen}%
      \Crefname{subfigure}{Abbildung}{Abbildungen}%
      \Crefname{table}{Tabelle}{Tabellen}%
      \Crefname{subtable}{Tabelle}{Tabellen}%
      \Crefname{theorem}{Theorem}{Theoremen}%
      \Crefname{lemma}{Lemma}{Lemmata}%
      \Crefname{corollary}{Korollar}{Korollaren}%
      \Crefname{proposition}{Satz}{S\"atze}%
      \Crefname{definition}{Definition}{Definitionen}%
      \Crefname{result}{Ergebnis}{Ergebnisse}%
      \Crefname{example}{Beispiel}{Beispiele}%
      \Crefname{remark}{Bemerkung}{Bemerkungen}%
      \Crefname{note}{Anmerkung}{Anmerkungen}%
      \Crefname{algorithm}{Algorithmus}{Algorithmen}%
      \Crefname{line}{Linie}{Linien}%
      \if@cref@capitalise%
        \crefname{equation}{Gleichung}{Gleichungen}%
        \crefname{chapter}{Kapitel}{Kapitel}%
        \crefname{section}{Abschnitt}{Abschnitte}%
        \crefname{subsection}{Abschnitt}{Abschnitte}%
        \crefname{subsubsection}{Abschnitt}{Abschnitte}%
        \crefname{appendix}{Anhang}{Anh\"ange}%
        \crefname{subappendix}{Anhang}{Anh\"ange}%
        \crefname{subsubappendix}{Anhang}{Anh\"ange}%
        \crefname{subsubsubappendix}{Anhang}{Anh\"ange}%
        \crefname{enumi}{Punkt}{Punkte}%
        \crefname{enumii}{Punkt}{Punkte}%
        \crefname{enumiii}{Punkt}{Punkte}%
        \crefname{enumiv}{Punkt}{Punkte}%
        \crefname{enumv}{Punkt}{Punkte}%
        \crefname{footnote}{Fu\ss note}{Fu\ss noten}%
        \crefname{figure}{Abbildung}{Abbildungen}%
        \crefname{subfigure}{Abbildung}{Abbildungen}%
        \crefname{table}{Tabelle}{Tabellen}%
        \crefname{subtable}{Tabelle}{Tabellen}%
        \crefname{theorem}{Theorem}{Theoremen}%
        \crefname{lemma}{Lemma}{Lemmata}%
        \crefname{corollary}{Korollar}{Korollaren}%
        \crefname{proposition}{Satz}{S\"atze}%
        \crefname{definition}{Definition}{Definitionen}%
        \crefname{result}{Ergebnis}{Ergebnisse}%
        \crefname{example}{Beispiel}{Beispiele}%
        \crefname{remark}{Bemerkung}{Bemerkungen}%
        \crefname{note}{Anmerkung}{Anmerkungen}%
        \crefname{algorithm}{Algorithmus}{Algorithmen}%
        \crefname{line}{Linie}{Linien}%
      \else%
        \crefname{equation}{Gleichung}{Gleichungen}%
        \crefname{chapter}{Kapitel}{Kapitel}%
        \crefname{section}{Abschnitt}{Abschnitte}%
        \crefname{subsection}{Abschnitt}{Abschnitte}%
        \crefname{subsubsection}{Abschnitt}{Abschnitte}%
        \crefname{appendix}{Anhang}{Anh\"ange}%
        \crefname{subappendix}{Anhang}{Anh\"ange}%
        \crefname{subsubappendix}{Anhang}{Anh\"ange}%
        \crefname{subsubsubappendix}{Anhang}{Anh\"ange}%
        \crefname{enumi}{Punkt}{Punkte}%
        \crefname{enumii}{Punkt}{Punkte}%
        \crefname{enumiii}{Punkt}{Punkte}%
        \crefname{enumiv}{Punkt}{Punkte}%
        \crefname{enumv}{Punkt}{Punkte}%
        \crefname{footnote}{Fu\ss note}{Fu\ss noten}%
        \crefname{figure}{Abbildung}{Abbildungen}%
        \crefname{subfigure}{Abbildung}{Abbildungen}%
        \crefname{table}{Tabelle}{Tabellen}%
        \crefname{subtable}{Tabelle}{Tabellen}%
        \crefname{theorem}{Theorem}{Theoremen}%
        \crefname{lemma}{Lemma}{Lemmata}%
        \crefname{corollary}{Korollar}{Korollaren}%
        \crefname{proposition}{Satz}{S\"atze}%
        \crefname{definition}{Definition}{Definitionen}%
        \crefname{result}{Ergebnis}{Ergebnisse}%
        \crefname{example}{Beispiel}{Beispiele}%
        \crefname{remark}{Bemerkung}{Bemerkungen}%
        \crefname{note}{Anmerkung}{Anmerkungen}%
        \crefname{algorithm}{Algorithmus}{Algorithmen}%
        \crefname{line}{Linie}{Linien}%
      \fi%
    }}}
\DeclareOption{ngerman}{%
  \PackageInfo{cleveref}{loaded `ngerman' language definitions}
  \ExecuteOptions{german}
  \def\cref@language{ngerman}
  \AtBeginDocument{%
    \cref@addto\extrasngerman{%
      \renewcommand{\crefrangeconjunction}{ bis~}%
      \renewcommand\crefrangepreconjunction{}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ und~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ und~}%
      \renewcommand{\crefpairgroupconjunction}{ und~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{ und~}%
      \Crefname{equation}{Gleichung}{Gleichungen}%
      \Crefname{chapter}{Kapitel}{Kapitel}%
      \Crefname{section}{Abschnitt}{Abschnitte}%
      \Crefname{subsection}{Abschnitt}{Abschnitte}%
      \Crefname{subsubsection}{Abschnitt}{Abschnitte}%
      \Crefname{appendix}{Anhang}{Anh\"ange}%
      \Crefname{subappendix}{Anhang}{Anh\"ange}%
      \Crefname{subsubappendix}{Anhang}{Anh\"ange}%
      \Crefname{subsubsubappendix}{Anhang}{Anh\"ange}%
      \Crefname{enumi}{Punkt}{Punkte}%
      \Crefname{enumii}{Punkt}{Punkte}%
      \Crefname{enumiii}{Punkt}{Punkte}%
      \Crefname{enumiv}{Punkt}{Punkte}%
      \Crefname{enumv}{Punkt}{Punkte}%
      \Crefname{footnote}{Fu\ss note}{Fu\ss noten}%
      \Crefname{figure}{Abbildung}{Abbildungen}%
      \Crefname{subfigure}{Abbildung}{Abbildungen}%
      \Crefname{table}{Tabelle}{Tabellen}%
      \Crefname{subtable}{Tabelle}{Tabellen}%
      \Crefname{theorem}{Theorem}{Theoremen}%
      \Crefname{lemma}{Lemma}{Lemmata}%
      \Crefname{corollary}{Korollar}{Korollaren}%
      \Crefname{proposition}{Satz}{S\"atze}%
      \Crefname{definition}{Definition}{Definitionen}%
      \Crefname{result}{Ergebnis}{Ergebnisse}%
      \Crefname{example}{Beispiel}{Beispiele}%
      \Crefname{remark}{Bemerkung}{Bemerkungen}%
      \Crefname{note}{Anmerkung}{Anmerkungen}%
      \Crefname{algorithm}{Algorithmus}{Algorithmen}%
      \Crefname{line}{Linie}{Linien}%
      \if@cref@capitalise%
        \crefname{equation}{Gleichung}{Gleichungen}%
        \crefname{chapter}{Kapitel}{Kapitel}%
        \crefname{section}{Abschnitt}{Abschnitte}%
        \crefname{subsection}{Abschnitt}{Abschnitte}%
        \crefname{subsubsection}{Abschnitt}{Abschnitte}%
        \crefname{appendix}{Anhang}{Anh\"ange}%
        \crefname{subappendix}{Anhang}{Anh\"ange}%
        \crefname{subsubappendix}{Anhang}{Anh\"ange}%
        \crefname{subsubsubappendix}{Anhang}{Anh\"ange}%
        \crefname{enumi}{Punkt}{Punkte}%
        \crefname{enumii}{Punkt}{Punkte}%
        \crefname{enumiii}{Punkt}{Punkte}%
        \crefname{enumiv}{Punkt}{Punkte}%
        \crefname{enumv}{Punkt}{Punkte}%
        \crefname{footnote}{Fu\ss note}{Fu\ss noten}%
        \crefname{figure}{Abbildung}{Abbildungen}%
        \crefname{subfigure}{Abbildung}{Abbildungen}%
        \crefname{table}{Tabelle}{Tabellen}%
        \crefname{subtable}{Tabelle}{Tabellen}%
        \crefname{theorem}{Theorem}{Theoremen}%
        \crefname{lemma}{Lemma}{Lemmata}%
        \crefname{corollary}{Korollar}{Korollaren}%
        \crefname{proposition}{Satz}{S\"atze}%
        \crefname{definition}{Definition}{Definitionen}%
        \crefname{result}{Ergebnis}{Ergebnisse}%
        \crefname{example}{Beispiel}{Beispiele}%
        \crefname{remark}{Bemerkung}{Bemerkungen}%
        \crefname{note}{Anmerkung}{Anmerkungen}%
        \crefname{algorithm}{Algorithmus}{Algorithmen}%
        \crefname{line}{Linie}{Linien}%
      \else%
        \crefname{equation}{Gleichung}{Gleichungen}%
        \crefname{chapter}{Kapitel}{Kapitel}%
        \crefname{section}{Abschnitt}{Abschnitte}%
        \crefname{subsection}{Abschnitt}{Abschnitte}%
        \crefname{subsubsection}{Abschnitt}{Abschnitte}%
        \crefname{appendix}{Anhang}{Anh\"ange}%
        \crefname{subappendix}{Anhang}{Anh\"ange}%
        \crefname{subsubappendix}{Anhang}{Anh\"ange}%
        \crefname{subsubsubappendix}{Anhang}{Anh\"ange}%
        \crefname{enumi}{Punkt}{Punkte}%
        \crefname{enumii}{Punkt}{Punkte}%
        \crefname{enumiii}{Punkt}{Punkte}%
        \crefname{enumiv}{Punkt}{Punkte}%
        \crefname{enumv}{Punkt}{Punkte}%
        \crefname{footnote}{Fu\ss note}{Fu\ss noten}%
        \crefname{figure}{Abbildung}{Abbildungen}%
        \crefname{subfigure}{Abbildung}{Abbildungen}%
        \crefname{table}{Tabelle}{Tabellen}%
        \crefname{subtable}{Tabelle}{Tabellen}%
        \crefname{theorem}{Theorem}{Theoremen}%
        \crefname{lemma}{Lemma}{Lemmata}%
        \crefname{corollary}{Korollar}{Korollaren}%
        \crefname{proposition}{Satz}{S\"atze}%
        \crefname{definition}{Definition}{Definitionen}%
        \crefname{result}{Ergebnis}{Ergebnisse}%
        \crefname{example}{Beispiel}{Beispiele}%
        \crefname{remark}{Bemerkung}{Bemerkungen}%
        \crefname{note}{Anmerkung}{Anmerkungen}%
        \crefname{algorithm}{Algorithmus}{Algorithmen}%
        \crefname{line}{Linie}{Linien}%
      \fi%
    }}}
\DeclareOption{dutch}{%
  \PackageInfo{cleveref}{loaded `dutch' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{ tot~}%
    \def\crefrangepreconjunction@preamble{}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ en~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ en~}%
    \def\crefpairgroupconjunction@preamble{ en~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble{ en~}%
    \Crefname@preamble{equation}{Vergel\ij{}king}{Vergel\ij{}kingen}%
    \Crefname@preamble{chapter}{Hoofdstuk}{Hoofdstuken}%
    \Crefname@preamble{section}{Paragraaf}{Paragrafen}%
    \Crefname@preamble{appendix}{Appendix}{Appendices}%
    \Crefname@preamble{figure}{Figuur}{Figuren}%
    \Crefname@preamble{table}{Tabel}{Tabellen}%
    \Crefname@preamble{enumi}{Punt}{Punten}%
    \Crefname@preamble{footnote}{Voetnote}{Voetnoten}%
    \Crefname@preamble{lemma}{Lemma}{Lemma's}%
    \Crefname@preamble{corollary}{Corollarium}{Corollaria}%
    \Crefname@preamble{proposition}{Bewering}{Beweringen}%
    \Crefname@preamble{definition}{Definitie}{Definities}%
    \Crefname@preamble{result}{Resultaat}{Resultaten}%
    \Crefname@preamble{example}{Voorbeeld}{Voorbeelden}%
    \Crefname@preamble{remark}{Opmerking}{Opmerkingen}%
    \Crefname@preamble{note}{Aantekening}{Aantekeningen}%
    \Crefname@preamble{algorithm}{Algoritme}{Algoritmen}%
    \Crefname@preamble{line}{Lijn}{Lijnen}%
    \if@cref@capitalise%
      \crefname@preamble{equation}{Verg.}{Verg's.}%
      \crefname@preamble{chapter}{Hoofdstuk}{Hoofdstukken}%
      \crefname@preamble{section}{Paragraaf}{Paragrafen}%
      \crefname@preamble{appendix}{Appendix}{Appendices}%
      \crefname@preamble{enumi}{Punt}{Punten}%
      \crefname@preamble{footnote}{Voetnote}{Voetnoten}%
      \crefname@preamble{figure}{Fig.}{Fig's.}%
      \crefname@preamble{table}{Tabel}{Tabellen}%
      \crefname@preamble{theorem}{Theorema}{Theorema's}%
      \crefname@preamble{lemma}{Lemma}{Lemma's}%
      \crefname@preamble{corollary}{Corollarium}{Corollaria}%
      \crefname@preamble{proposition}{Bewering}{Beweringen}%
      \crefname@preamble{definition}{Definitie}{Definities}%
      \crefname@preamble{result}{Resultaat}{Resultaten}%
      \crefname@preamble{example}{Voorbeeld}{Voorbeelden}%
      \crefname@preamble{remark}{Opmerking}{Opmerkingen}%
      \crefname@preamble{note}{Aantekening}{Aantekeningen}%
      \crefname@preamble{algorithm}{Algoritme}{Algoritmen}%
      \crefname@preamble{line}{Lijn}{Lijnen}%
    \else%
      \crefname@preamble{equation}{verg.}{verg's.}%
      \crefname@preamble{chapter}{hoofdstuk}{hoofdstukken}%
      \crefname@preamble{section}{paragraaf}{paragrafen}%
      \crefname@preamble{appendix}{appendix}{appendices}%
      \crefname@preamble{enumi}{punt}{punten}%
      \crefname@preamble{footnote}{voetnote}{voetnoten}%
      \crefname@preamble{figure}{fig.}{fig's.}%
      \crefname@preamble{table}{tabel}{tabellen}%
      \crefname@preamble{theorem}{theorema}{theorema's}%
      \crefname@preamble{lemma}{lemma}{lemma's}%
      \crefname@preamble{corollary}{corollarium}{corollaria}%
      \crefname@preamble{proposition}{bewering}{beweringen}%
      \crefname@preamble{definition}{definitie}{definities}%
      \crefname@preamble{result}{resultaat}{resultaten}%
      \crefname@preamble{example}{voorbeeld}{voorbeelden}%
      \crefname@preamble{remark}{opmerking}{opmerkingen}%
      \crefname@preamble{note}{aantekening}{aantekeningen}%
      \crefname@preamble{algorithm}{algoritme}{algoritmen}%
      \crefname@preamble{line}{lijn}{lijnen}%
    \fi%
    \def\cref@language{dutch}%
    \cref@addto\extrasdutch{%
      \renewcommand{\crefrangeconjunction}{ tot~}%
      \renewcommand\crefrangepreconjunction{}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ en~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ en~}%
      \renewcommand{\crefpairgroupconjunction}{ en~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{ en~}%
      \Crefname{equation}{Vergel\ij{}king}{Vergel\ij{}kingen}%
      \Crefname{chapter}{Hoofdstuk}{Hoofdstuken}%
      \Crefname{section}{Paragraaf}{Paragrafen}%
      \Crefname{subsection}{Paragraaf}{Paragrafen}%
      \Crefname{subsubsection}{Paragraaf}{Paragrafen}%
      \Crefname{appendix}{Appendix}{Appendices}%
      \Crefname{subappendix}{Appendix}{Appendices}%
      \Crefname{subsubappendix}{Appendix}{Appendices}%
      \Crefname{subsubsubappendix}{Appendix}{Appendices}%
      \Crefname{enumi}{Punt}{Punten}%
      \Crefname{enumii}{Punt}{Punten}%
      \Crefname{enumiii}{Punt}{Punten}%
      \Crefname{enumiv}{Punt}{Punten}%
      \Crefname{enumv}{Punt}{Punten}%
      \Crefname{footnote}{Voetnote}{Voetnoten}%
      \Crefname{figure}{Figuur}{Figuren}%
      \Crefname{subfigure}{Figuur}{Figuren}%
      \Crefname{table}{Tabel}{Tabellen}%
      \Crefname{subtable}{Tabel}{Tabellen}%
      \Crefname{theorem}{Theorema}{Theorema's}%
      \Crefname{lemma}{Lemma}{Lemma's}%
      \Crefname{corollary}{Corollarium}{Corollaria}%
      \Crefname{proposition}{Bewering}{Beweringen}%
      \Crefname{definition}{Definitie}{Definities}%
      \Crefname{result}{Resultaat}{Resultaten}%
      \Crefname{example}{Voorbeeld}{Voorbeelden}%
      \Crefname{remark}{Opmerking}{Opmerkingen}%
      \Crefname{note}{Aantekening}{Aantekeningen}%
      \Crefname{algorithm}{Algoritme}{Algoritmen}%
      \Crefname{line}{Lijn}{Lijnen}%
      \if@cref@capitalise%
        \crefname{equation}{Verg.}{Verg's.}%
        \crefname{chapter}{Hoofdstuk}{Hoofdstukken}%
        \crefname{section}{Paragraaf}{Paragrafen}%
        \crefname{appendix}{Appendix}{Appendices}%
        \crefname{enumi}{Punt}{Punten}%
        \crefname{footnote}{Voetnote}{Voetnoten}%
        \crefname{figure}{Fig.}{Fig's.}%
        \crefname{table}{Tabel}{Tabellen}%
        \crefname{theorem}{Theorema}{Theorema's}%
        \crefname{lemma}{Lemma}{Lemma's}%
        \crefname{corollary}{Corollarium}{Corollaria}%
        \crefname{proposition}{Bewering}{Beweringen}%
        \crefname{definition}{Definitie}{Definities}%
        \crefname{result}{Resultaat}{Resultaten}%
        \crefname{example}{Voorbeeld}{Voorbeelden}%
        \crefname{remark}{Opmerking}{Opmerkingen}%
        \crefname{note}{Aantekening}{Aantekeningen}%
        \crefname{algorithm}{Algoritme}{Algoritmen}%
        \crefname{line}{Lijn}{Lijnen}%
      \else%
        \crefname{equation}{verg.}{verg's.}%
        \crefname{chapter}{hoofdstuk}{hoofdstukken}%
        \crefname{section}{paragraaf}{paragrafen}%
        \crefname{appendix}{appendix}{appendices}%
        \crefname{enumi}{punt}{punten}%
        \crefname{footnote}{voetnote}{voetnoten}%
        \crefname{figure}{fig.}{fig's.}%
        \crefname{table}{tabel}{tabellen}%
        \crefname{theorem}{theorema}{theorema's}%
        \crefname{lemma}{lemma}{lemma's}%
        \crefname{corollary}{corollarium}{corollaria}%
        \crefname{proposition}{bewering}{beweringen}%
        \crefname{definition}{definitie}{definities}%
        \crefname{result}{resultaat}{resultaten}%
        \crefname{example}{voorbeeld}{voorbeelden}%
        \crefname{remark}{opmerking}{opmerkingen}%
        \crefname{note}{aantekening}{aantekeningen}%
        \crefname{algorithm}{algoritme}{algoritmen}%
        \crefname{line}{lijn}{lijnen}%
      \fi%
    }}}
\DeclareOption{french}{%
  \PackageInfo{cleveref}{loaded `french' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{ \`a~}%
    \def\crefrangepreconjunction@preamble{}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ et~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ et~}%
    \def\crefpairgroupconjunction@preamble{ et~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble{, et~}%
    \Crefname@preamble{equation}{{\'E}quation}{{\'E}quations}%
    \Crefname@preamble{chapter}{Chapitre}{Chapitres}%
    \Crefname@preamble{section}{Section}{Sections}%
    \Crefname@preamble{appendix}{Appendice}{Appendices}%
    \Crefname@preamble{enumi}{Point}{Points}%
    \Crefname@preamble{footnote}{Note}{Notes}%
    \Crefname@preamble{figure}{Figure}{Figures}%
    \Crefname@preamble{table}{Tableau}{Tableaux}%
    \Crefname@preamble{theorem}{Th\'eor\`eme}{Th\'eor\`emes}%
    \Crefname@preamble{lemma}{Lemme}{Lemmes}%
    \Crefname@preamble{corollary}{Corollaire}{Corollaires}%
    \Crefname@preamble{proposition}{Proposition}{Propositions}%
    \Crefname@preamble{definition}{D\'efinition}{D\'efinitions}%
    \Crefname@preamble{result}{R\'esultat}{R\'esultats}%
    \Crefname@preamble{example}{Exemple}{Exemples}%
    \Crefname@preamble{remark}{Remarque}{Remarques}%
    \Crefname@preamble{algorithm}{Algorithme}{Algorithmes}%
    \Crefname@preamble{line}{Ligne}{Lignes}%
    \if@cref@capitalise%
      \crefname@preamble{equation}{{\'E}quation}{{\'E}quations}%
      \crefname@preamble{chapter}{Chapitre}{Chapitres}%
      \crefname@preamble{section}{Section}{Sections}%
      \crefname@preamble{appendix}{Appendice}{Appendices}%
      \crefname@preamble{enumi}{Point}{Points}%
      \crefname@preamble{footnote}{Note}{Notes}%
      \crefname@preamble{figure}{Figure}{Figures}%
      \crefname@preamble{table}{Tableau}{Tableaux}%
      \crefname@preamble{theorem}{Th\'eor\`eme}{Th\'eor\`emes}%
      \crefname@preamble{lemma}{Lemme}{Lemmes}%
      \crefname@preamble{corollary}{Corollaire}{Corollaires}%
      \crefname@preamble{proposition}{Proposition}{Propositions}%
      \crefname@preamble{definition}{D\'efinition}{D\'efinitions}%
      \crefname@preamble{result}{R\'esultat}{R\'esultats}%
      \crefname@preamble{example}{Exemple}{Exemples}%
      \crefname@preamble{remark}{Remarque}{Remarques}%
      \crefname@preamble{note}{Commentaire}{Commentaires}%
      \crefname@preamble{algorithm}{Algorithme}{Algorithmes}%
      \crefname@preamble{line}{Ligne}{Lignes}%
    \else%
      \crefname@preamble{equation}{{\'e}quation}{{\'e}quations}%
      \crefname@preamble{chapter}{chapitre}{chapitres}%
      \crefname@preamble{section}{section}{sections}%
      \crefname@preamble{appendix}{appendice}{appendices}%
      \crefname@preamble{enumi}{point}{points}%
      \crefname@preamble{footnote}{note}{notes}%
      \crefname@preamble{figure}{figure}{figures}%
      \crefname@preamble{table}{tableau}{tableaux}%
      \crefname@preamble{theorem}{th\'eor\`eme}{th\'eor\`emes}%
      \crefname@preamble{lemma}{lemme}{lemmes}%
      \crefname@preamble{corollary}{corollaire}{corollaires}%
      \crefname@preamble{proposition}{proposition}{propositions}%
      \crefname@preamble{definition}{d\'efinition}{d\'efinitions}%
      \crefname@preamble{result}{r\'esultat}{r\'esultats}%
      \crefname@preamble{example}{exemple}{exemples}%
      \crefname@preamble{remark}{remarque}{remarques}%
      \crefname@preamble{note}{commentaire}{commentaires}%
      \crefname@preamble{algorithm}{algorithme}{algorithmes}%
      \crefname@preamble{line}{ligne}{lignes}%
    \fi%
    \def\cref@language{french}%
    \cref@addto\extrasfrench{%
      \renewcommand{\crefrangeconjunction}{ \`a~}%
      \renewcommand\crefrangepreconjunction{}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ et~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ et~}%
      \renewcommand{\crefpairgroupconjunction}{ et~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{ et~}%
      \Crefname{equation}{{\'E}quation}{{\'E}quations}%
      \Crefname{chapter}{Chapitre}{Chapitres}%
      \Crefname{section}{Section}{Sections}%
      \Crefname{subsection}{Section}{Sections}%
      \Crefname{subsubsection}{Section}{Sections}%
      \Crefname{appendix}{Appendice}{Appendices}%
      \Crefname{subappendix}{Appendice}{Appendices}%
      \Crefname{subsubappendix}{Appendice}{Appendices}%
      \Crefname{subsubsubappendix}{Appendice}{Appendices}%
      \Crefname{enumi}{Point}{Points}%
      \Crefname{enumii}{Point}{Points}%
      \Crefname{enumiii}{Point}{Points}%
      \Crefname{enumiv}{Point}{Points}%
      \Crefname{enumv}{Point}{Points}%
      \Crefname{footnote}{Note}{Notes}%
      \Crefname{figure}{Figure}{Figures}%
      \Crefname{subfigure}{Figure}{Figures}%
      \Crefname{table}{Tableau}{Tableaux}%
      \Crefname{subtable}{Tableau}{Tableaux}%
      \Crefname{theorem}{Th\'eor\`eme}{Th\'eor\`emes}%
      \Crefname{lemma}{Lemme}{Lemmes}%
      \Crefname{corollary}{Corollaire}{Corollaires}%
      \Crefname{proposition}{Proposition}{Propositions}%
      \Crefname{definition}{D\'efinition}{D\'efinitions}%
      \Crefname{result}{R\'esultat}{R\'esultats}%
      \Crefname{example}{Exemple}{Exemples}%
      \Crefname{remark}{Remarque}{Remarques}%
      \Crefname{note}{Commentaire}{Commentaires}%
      \Crefname{algorithm}{Algorithme}{Algorithmes}%
      \Crefname{line}{Ligne}{Lignes}%
      \if@cref@capitalise%
        \crefname{equation}{{\'E}quation}{{\'E}quations}%
        \crefname{chapter}{Chapitre}{Chapitres}%
        \crefname{section}{Section}{Sections}%
        \crefname{subsection}{Section}{Sections}%
        \crefname{subsubsection}{Section}{Sections}%
        \crefname{appendix}{Appendice}{Appendices}%
        \crefname{subappendix}{Appendice}{Appendices}%
        \crefname{subsubappendix}{Appendice}{Appendices}%
        \crefname{subsubsubappendix}{Appendice}{Appendices}%
        \crefname{enumi}{Point}{Points}%
        \crefname{enumii}{Point}{Points}%
        \crefname{enumiii}{Point}{Points}%
        \crefname{enumiv}{Point}{Points}%
        \crefname{enumv}{Point}{Points}%
        \crefname{footnote}{Note}{Notes}%
        \crefname{figure}{Figure}{Figures}%
        \crefname{subfigure}{Figure}{Figures}%
        \crefname{table}{Tableau}{Tableaux}%
        \crefname{subtable}{Tableau}{Tableaux}%
        \crefname{theorem}{Th\'eor\`eme}{Th\'eor\`emes}%
        \crefname{lemma}{Lemme}{Lemmes}%
        \crefname{corollary}{Corollaire}{Corollaires}%
        \crefname{proposition}{Proposition}{Propositions}%
        \crefname{definition}{D\'efinition}{D\'efinitions}%
        \crefname{result}{R\'esultat}{R\'esultats}%
        \crefname{example}{Exemple}{Exemples}%
        \crefname{remark}{Remarque}{Remarques}%
        \crefname{note}{Commentaire}{Commentaires}%
        \crefname{algorithm}{Algorithme}{Algorithmes}%
        \crefname{line}{Ligne}{Lignes}%
      \else%
        \crefname{equation}{{\'e}quation}{{\'e}quations}%
        \crefname{chapter}{chapitre}{chapitres}%
        \crefname{section}{section}{sections}%
        \crefname{subsection}{section}{sections}%
        \crefname{subsubsection}{section}{sections}%
        \crefname{appendix}{appendice}{appendices}%
        \crefname{subappendix}{appendice}{appendices}%
        \crefname{subsubappendix}{appendice}{appendices}%
        \crefname{subsubsubappendix}{appendice}{appendices}%
        \crefname{enumi}{point}{points}%
        \crefname{enumii}{point}{points}%
        \crefname{enumiii}{point}{points}%
        \crefname{enumiv}{point}{points}%
        \crefname{enumv}{point}{points}%
        \crefname{footnote}{note}{notes}%
        \crefname{figure}{figure}{figures}%
        \crefname{subfigure}{figure}{figures}%
        \crefname{table}{tableau}{tableaux}%
        \crefname{subtable}{tableau}{tableaux}%
        \crefname{theorem}{th\'eor\`eme}{th\'eor\`emes}%
        \crefname{lemma}{lemme}{lemmes}%
        \crefname{corollary}{corollaire}{corollaires}%
        \crefname{proposition}{proposition}{propositions}%
        \crefname{definition}{d\'efinition}{d\'efinitions}%
        \crefname{result}{r\'esultat}{r\'esultats}%
        \crefname{example}{exemple}{exemples}%
        \crefname{remark}{remarque}{remarques}%
        \crefname{note}{commentaire}{commentaires}%
        \crefname{algorithm}{algorithme}{algorithmes}%
        \crefname{line}{ligne}{lignes}%
      \fi%
    }}}
\DeclareOption{spanish}{%
  \PackageInfo{cleveref}{loaded `spanish' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{ a~}%
    \def\crefrangepreconjunction@preamble{}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ y~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ y~}%
    \def\crefpairgroupconjunction@preamble{ y~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble{ y~}%
    \Crefname@preamble{equation}{Ecuaci\'on}{Ecuaciones}%
    \Crefname@preamble{chapter}{Cap\'itulo}{Cap\'itulos}%
    \Crefname@preamble{section}{Secci\'on}{Secciones}%
    \Crefname@preamble{appendix}{Ap\'endice}{Ap\'endices}%
    \Crefname@preamble{enumi}{Punto}{Puntos}%
    \Crefname@preamble{footnote}{Nota}{Notas}%
    \Crefname@preamble{figure}{Figura}{Figuras}%
    \Crefname@preamble{table}{Cuadro}{Cuadros}%
    \Crefname@preamble{theorem}{Teorema}{Teoremas}%
    \Crefname@preamble{lemma}{Lema}{Lemas}%
    \Crefname@preamble{corollary}{Corolario}{Corolarios}%
    \Crefname@preamble{proposition}{Proposici\'on}{Proposiciones}%
    \Crefname@preamble{definition}{Definici\'on}{Definiciones}%
    \Crefname@preamble{result}{Resultado}{Resultados}%
    \Crefname@preamble{example}{Ejemplo}{Ejemplos}%
    \Crefname@preamble{remark}{Observaci\'on}{Observaciones}%
    \Crefname@preamble{note}{Nota}{Notas}%
    \Crefname@preamble{algorithm}{Algoritmo}{Algoritmos}%
    \Crefname@preamble{line}{L\'inea}{L\'ineas}%
    \if@cref@capitalise%
      \crefname@preamble{equation}{Ecuaci\'on}{ecuaciones}%
      \crefname@preamble{chapter}{Cap\'itulo}{cap\'itulos}%
      \crefname@preamble{section}{Secci\'on}{secciones}%
      \crefname@preamble{appendix}{Ap\'endice}{ap\'endices}%
      \crefname@preamble{enumi}{Punto}{puntos}%
      \crefname@preamble{footnote}{Nota}{Notas}%
      \crefname@preamble{figure}{Figura}{figuras}%
      \crefname@preamble{table}{Cuadro}{cuadros}%
      \crefname@preamble{theorem}{Teorema}{teoremas}%
      \crefname@preamble{lemma}{Lema}{lemas}%
      \crefname@preamble{corollary}{Corolario}{corolarios}%
      \crefname@preamble{proposition}{Proposici\'on}{proposiciones}%
      \crefname@preamble{definition}{Definici\'on}{definiciones}%
      \crefname@preamble{result}{Resultado}{resultados}%
      \crefname@preamble{example}{Ejemplo}{ejemplos}%
      \crefname@preamble{remark}{Observaci\'on}{observaciones}%
      \crefname@preamble{note}{Nota}{notas}%
      \crefname@preamble{algorithm}{Algoritmo}{Algoritmos}%
      \crefname@preamble{line}{L\'inea}{L\'ineas}%
    \else%
      \crefname@preamble{equation}{ecuaci\'on}{ecuaciones}%
      \crefname@preamble{chapter}{cap\'itulo}{cap\'itulos}%
      \crefname@preamble{section}{secci\'on}{secciones}%
      \crefname@preamble{appendix}{ap\'endice}{ap\'endices}%
      \crefname@preamble{enumi}{punto}{puntos}%
      \crefname@preamble{footnote}{nota}{notas}%
      \crefname@preamble{figure}{figura}{figuras}%
      \crefname@preamble{table}{cuadro}{cuadros}%
      \crefname@preamble{theorem}{teorema}{teoremas}%
      \crefname@preamble{lemma}{lema}{lemas}%
      \crefname@preamble{corollary}{corolario}{corolarios}%
      \crefname@preamble{proposition}{proposici\'on}{proposiciones}%
      \crefname@preamble{definition}{definici\'on}{definiciones}%
      \crefname@preamble{result}{resultado}{resultados}%
      \crefname@preamble{example}{ejemplo}{ejemplos}%
      \crefname@preamble{remark}{observaci\'on}{observaciones}%
      \crefname@preamble{note}{nota}{notas}%
      \crefname@preamble{algorithm}{algoritmo}{algoritmos}%
      \crefname@preamble{line}{l\'inea}{l\'ineas}%
    \fi%
    \def\cref@language{spanish}%
    \cref@addto\extrasspanish{%
      \renewcommand{\crefrangeconjunction}{ a~}%
      \renewcommand{\crefrangepreconjunction}{}%
      \renewcommand{\crefrangepostconjunction}{}%
      \renewcommand{\crefpairconjunction}{ y~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ y~}%
      \renewcommand{\crefpairgroupconjunction}{ y~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{ y~}%
      \Crefname{equation}{Ecuaci\'on}{Ecuaciones}%
      \Crefname{chapter}{Cap\'itulo}{Cap\'itulos}%
      \Crefname{section}{Secci\'on}{Secciones}%
      \Crefname{subsection}{Secci\'on}{Secciones}%
      \Crefname{subsubsection}{Secci\'on}{Secciones}%
      \Crefname{appendix}{Ap\'endice}{Ap\'endices}%
      \Crefname{subappendix}{Ap\'endice}{Ap\'endices}%
      \Crefname{subsubappendix}{Ap\'endice}{Ap\'endices}%
      \Crefname{subsubsubappendix}{Ap\'endice}{Ap\'endices}%
      \Crefname{enumi}{Punto}{Puntos}%
      \Crefname{enumii}{Punto}{Puntos}%
      \Crefname{enumiii}{Punto}{Puntos}%
      \Crefname{enumiv}{Punto}{Puntos}%
      \Crefname{enumv}{Punto}{Puntos}%
      \Crefname{footnote}{Nota}{Notas}%
      \Crefname{figure}{Figura}{Figuras}%
      \Crefname{subfigure}{Figura}{Figuras}%
      \Crefname{table}{Cuadro}{Cuadros}%
      \Crefname{subtable}{Cuadro}{Cuadros}%
      \Crefname{theorem}{Teorema}{Teoremas}%
      \Crefname{lemma}{Lema}{Lemas}%
      \Crefname{corollary}{Corolario}{Corolarios}%
      \Crefname{proposition}{Proposici\'on}{Proposiciones}%
      \Crefname{definition}{Definici\'on}{Definiciones}%
      \Crefname{result}{Resultado}{Resultados}%
      \Crefname{example}{Ejemplo}{Ejemplos}%
      \Crefname{remark}{Observaci\'on}{Observaci\'on}%
      \Crefname{note}{Nota}{Notas}%
      \Crefname{algorithm}{Algoritmo}{Algoritmos}%
      \Crefname{line}{L\'inea}{L\'ineas}%
      \if@cref@capitalise%
        \crefname{equation}{Ecuaci\'on}{Ecuaciones}%
        \crefname{chapter}{Cap\'itulo}{Cap\'itulos}%
        \crefname{section}{Secci\'on}{Secciones}%
        \crefname{subsection}{Secci\'on}{Secciones}%
        \crefname{subsubsection}{Secci\'on}{Secciones}%
        \crefname{appendix}{Ap\'endice}{Ap\'endices}%
        \crefname{subappendix}{Ap\'endice}{Ap\'endices}%
        \crefname{subsubappendix}{Ap\'endice}{Ap\'endices}%
        \crefname{subsubsubappendix}{Ap\'endice}{Ap\'endices}%
        \crefname{enumi}{Punto}{Puntos}%
        \crefname{enumii}{Punto}{Puntos}%
        \crefname{enumiii}{Punto}{Puntos}%
        \crefname{enumiv}{Punto}{Puntos}%
        \crefname{enumv}{Punto}{Puntos}%
        \crefname{footnote}{Nota}{Notas}%
        \crefname{figure}{Figura}{Figuras}%
        \crefname{subfigure}{Figura}{Figuras}%
        \crefname{table}{Cuadro}{Cuadros}%
        \crefname{subtable}{Cuadro}{Cuadros}%
        \crefname{theorem}{Teorema}{Teoremas}%
        \crefname{lemma}{Lema}{Lemas}%
        \crefname{corollary}{Corolario}{Corolarios}%
        \crefname{proposition}{Proposici\'on}{Proposiciones}%
        \crefname{definition}{Definici\'on}{Definiciones}%
        \crefname{result}{Resultado}{Resultados}%
        \crefname{example}{Ejemplo}{Ejemplos}%
        \crefname{remark}{Observaci\'on}{Observaci\'ones}%
        \crefname{note}{Nota}{Notas}%
        \crefname{algorithm}{Algoritmo}{Algoritmos}%
        \crefname{line}{L\'inea}{L\'ineas}%
      \else%
        \crefname{equation}{ecuaci\'on}{ecuaciones}%
        \crefname{chapter}{cap\'itulo}{cap\'itulos}%
        \crefname{section}{secci\'on}{secciones}%
        \crefname{subsection}{secci\'on}{secciones}%
        \crefname{subsubsection}{secci\'on}{secciones}%
        \crefname{appendix}{ap\'endice}{ap\'endices}%
        \crefname{subappendix}{ap\'endice}{ap\'endices}%
        \crefname{subsubappendix}{ap\'endice}{ap\'endices}%
        \crefname{subsubsubappendix}{ap\'endice}{ap\'endices}%
        \crefname{enumi}{punto}{puntos}%
        \crefname{enumii}{punto}{puntos}%
        \crefname{enumiii}{punto}{puntos}%
        \crefname{enumiv}{punto}{puntos}%
        \crefname{enumv}{punto}{puntos}%
        \crefname{footnote}{nota}{notas}%
        \crefname{figure}{figura}{figuras}%
        \crefname{subfigure}{figura}{figuras}%
        \crefname{table}{cuadro}{cuadros}%
        \crefname{subtable}{cuadro}{cuadros}%
        \crefname{theorem}{teorema}{teoremas}%
        \crefname{lemma}{lema}{lemas}%
        \crefname{corollary}{corolario}{corolarios}%
        \crefname{proposition}{proposici\'on}{proposiciones}%
        \crefname{definition}{definici\'on}{definiciones}%
        \crefname{result}{resultado}{resultados}%
        \crefname{example}{ejemplo}{ejemplos}%
        \crefname{remark}{observaci\'on}{observaci\'ones}%
        \crefname{note}{nota}{notas}%
        \crefname{algorithm}{algoritmo}{algoritmos}%
        \crefname{line}{l\'inea}{l\'ineas}%
      \fi%
    }}}
\DeclareOption{italian}{%
  \PackageInfo{cleveref}{loaded `italian' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{ a~}%
    \def\crefrangepreconjunction@preamble{da~}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ e~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ e~}%
    \def\crefpairgroupconjunction@preamble{ e~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble{ e~}%
    \Crefname@preamble{equation}{Equazione}{Equazioni}%
    \Crefname@preamble{chapter}{Capitolo}{Capitoli}%
    \Crefname@preamble{section}{Sezione}{Sezioni}%
    \Crefname@preamble{appendix}{Appendice}{Appendici}%
    \Crefname@preamble{enumi}{Voce}{Voci}%
    \Crefname@preamble{footnote}{Nota}{Note}%
    \Crefname@preamble{figure}{Figura}{Figure}%
    \Crefname@preamble{table}{Tabella}{Tabelle}%
    \Crefname@preamble{theorem}{Teorema}{Teoremi}%
    \Crefname@preamble{lemma}{Lemma}{Lemmi}%
    \Crefname@preamble{corollary}{Corollario}{Corollari}%
    \Crefname@preamble{proposition}{Proposizione}{Proposizioni}%
    \Crefname@preamble{definition}{Definizioni}{Definizioni}%
    \Crefname@preamble{result}{Risultato}{Risultati}%
    \Crefname@preamble{example}{esempio}{esempi}%
    \Crefname@preamble{remark}{Osservazione}{Osservazioni}%
    \Crefname@preamble{note}{Nota}{Note}%
    \Crefname@preamble{algorithm}{Algoritmo}{Algoritmi}%
    \Crefname@preamble{line}{Linea}{Linee}%
    \if@cref@capitalise%
      \crefname@preamble{equation}{Eq.}{Eq.}%
      \crefname@preamble{chapter}{Capitolo}{Capitoli}%
      \crefname@preamble{section}{Sezione}{Sezioni}%
      \crefname@preamble{appendix}{Appendice}{Appendici}%
      \crefname@preamble{enumi}{Voce}{Voci}%
      \crefname@preamble{footnote}{Nota}{Note}%
      \crefname@preamble{figure}{Fig.}{Fig.}%
      \crefname@preamble{table}{Tabella}{Tabelle}%
      \crefname@preamble{theorem}{Teorema}{Teoremi}%
      \crefname@preamble{lemma}{Lemma}{Lemmi}%
      \crefname@preamble{corollary}{Corollario}{Corollari}%
      \crefname@preamble{proposition}{Proposizione}{Proposizioni}%
      \crefname@preamble{definition}{Definizione}{Definizioni}%
      \crefname@preamble{result}{Risultato}{Risultati}%
      \crefname@preamble{example}{Esempio}{Esempi}%
      \crefname@preamble{remark}{Osservazione}{Osservazioni}%
      \crefname@preamble{note}{Nota}{Note}%
      \crefname@preamble{algorithm}{Algoritmo}{Algoritmi}%
      \crefname@preamble{line}{Linea}{Linee}%
    \else%
      \crefname@preamble{equation}{eq.}{eq.}%
      \crefname@preamble{chapter}{capitolo}{capitoli}%
      \crefname@preamble{section}{sezione}{sezioni}%
      \crefname@preamble{appendix}{appendice}{appendici}%
      \crefname@preamble{enumi}{voce}{voci}%
      \crefname@preamble{footnote}{nota}{note}%
      \crefname@preamble{figure}{fig.}{fig.}%
      \crefname@preamble{table}{tabella}{tabelle}%
      \crefname@preamble{theorem}{teorema}{teoremi}%
      \crefname@preamble{lemma}{lemma}{lemmi}%
      \crefname@preamble{corollary}{corollario}{corollari}%
      \crefname@preamble{proposition}{proposizione}{proposizioni}%
      \crefname@preamble{definition}{definizione}{definizioni}%
      \crefname@preamble{result}{risultato}{risultati}%
      \crefname@preamble{example}{esempio}{esempi}%
      \crefname@preamble{remark}{osservazione}{osservazioni}%
      \crefname@preamble{note}{nota}{note}%
      \crefname@preamble{algorithm}{algoritmo}{algoritmi}%
      \crefname@preamble{line}{linea}{linee}%
    \fi%
    \def\cref@language{italian}%
    \cref@addto\extrasitalian{%
      \renewcommand{\crefrangeconjunction}{ a~}%
      \renewcommand\crefrangepreconjunction{da~}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ e~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ e~}%
      \renewcommand{\crefpairgroupconjunction}{ e~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{ e~}%
      \Crefname{equation}{Equazione}{Equazioni}%
      \Crefname{chapter}{Capitolo}{Capitoli}%
      \Crefname{section}{Sezione}{Sezioni}%
      \Crefname{subsection}{Sezione}{Sezioni}%
      \Crefname{subsubsection}{Sezione}{Sezioni}%
      \Crefname{appendix}{Appendice}{Appendici}%
      \Crefname{subappendix}{Appendice}{Appendici}%
      \Crefname{subsubappendix}{Appendice}{Appendici}%
      \Crefname{subsubsubappendix}{Appendice}{Appendici}%
      \Crefname{enumi}{Voce}{Voci}%
      \Crefname{enumii}{Voce}{Voci}%
      \Crefname{enumiii}{Voce}{Voci}%
      \Crefname{enumiv}{Voce}{Voci}%
      \Crefname{enumv}{Voce}{Voci}%
      \Crefname{footnote}{Nota}{Note}%
      \Crefname{figure}{Figura}{Figure}%
      \Crefname{subfigure}{Figura}{Figure}%
      \Crefname{table}{Tabella}{Tabelle}%
      \Crefname{subtable}{Tabella}{Tabelle}%
      \Crefname{theorem}{Teorema}{Teoremi}%
      \Crefname{lemma}{Lemma}{Lemmi}%
      \Crefname{corollary}{Corollario}{Corollari}%
      \Crefname{proposition}{Proposizione}{Proposizioni}%
      \Crefname{definition}{Definizione}{Definizione}%
      \Crefname{result}{Risultato}{Risultati}%
      \Crefname{example}{esempio}{esempi}%
      \Crefname{remark}{Osservazione}{Osservazioni}%
      \Crefname{note}{Nota}{Note}%
      \Crefname{algorithm}{Algoritmo}{Algoritmi}%
      \Crefname{line}{Linea}{Linee}%
      \if@cref@capitalise%
        \crefname{equation}{Eq.}{Eq.}%
        \crefname{chapter}{Capitolo}{Capitoli}%
        \crefname{section}{Sezione}{Sezioni}%
        \crefname{subsection}{Sezione}{Sezioni}%
        \crefname{subsubsection}{Sezione}{Sezioni}%
        \crefname{appendix}{Appendice}{Appendici}%
        \crefname{subappendix}{Appendice}{Appendici}%
        \crefname{subsubappendix}{Appendice}{Appendici}%
        \crefname{subsubsubappendix}{Appendice}{Appendici}%
        \crefname{enumi}{Voce}{Voci}%
        \crefname{enumii}{Voce}{Voci}%
        \crefname{enumiii}{Voce}{Voci}%
        \crefname{enumiv}{Voce}{Voci}%
        \crefname{enumv}{Voce}{Voci}%
        \crefname{footnote}{Nota}{Note}%
        \crefname{figure}{Fig.}{Fig.}%
        \crefname{subfigure}{Fig.}{Fig.}%
        \crefname{table}{Tabella}{Tabelle}%
        \crefname{subtable}{Tabella}{Tabelle}%
        \crefname{theorem}{Teorema}{Teoremi}%
        \crefname{lemma}{Lemma}{Lemmi}%
        \crefname{corollary}{Corollario}{Corollari}%
        \crefname{proposition}{Proposizione}{Proposizioni}%
        \crefname{definition}{Definizione}{Definizione}%
        \crefname{result}{Risultato}{Risultati}%
        \crefname{example}{Esempio}{Esempi}%
        \crefname{remark}{Osservazione}{Osservazioni}%
        \crefname{note}{Nota}{Note}%
        \crefname{algorithm}{Algoritmo}{Algoritmi}%
        \crefname{line}{Linea}{Linee}%
      \else%
        \crefname{equation}{eq.}{eq.}%
        \crefname{chapter}{capitolo}{capitoli}%
        \crefname{section}{sezione}{sezioni}%
        \crefname{subsection}{sezione}{sezioni}%
        \crefname{subsubsection}{sezione}{sezioni}%
        \crefname{appendix}{appendice}{appendici}%
        \crefname{subappendix}{appendice}{appendici}%
        \crefname{subsubappendix}{appendice}{appendici}%
        \crefname{subsubsubappendix}{appendice}{appendici}%
        \crefname{enumi}{voce}{voci}%
        \crefname{enumii}{voce}{voci}%
        \crefname{enumiii}{voce}{voci}%
        \crefname{enumiv}{voce}{voci}%
        \crefname{enumv}{voce}{voci}%
        \crefname{footnote}{nota}{note}%
        \crefname{figure}{fig.}{fig.}%
        \crefname{subfigure}{fig.}{fig.}%
        \crefname{table}{tabella}{tabelle}%
        \crefname{subtable}{tabella}{tabelle}%
        \crefname{theorem}{teorema}{teoremi}%
        \crefname{lemma}{lemma}{lemmi}%
        \crefname{corollary}{corollario}{corollari}%
        \crefname{proposition}{proposizione}{proposizioni}%
        \crefname{definition}{definizione}{definizione}%
        \crefname{result}{risultato}{risultati}%
        \crefname{example}{esempio}{esempi}%
        \crefname{remark}{osservazione}{osservazioni}%
        \crefname{note}{nota}{note}%
        \crefname{algorithm}{algoritmo}{algoritmi}%
        \crefname{line}{linea}{linee}%
      \fi%
    }}}
\DeclareOption{russian}{%
  \PackageInfo{cleveref}{loaded `russian' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{--}%
    \def\crefrangepreconjunction@preamble{}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ \cyri~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ \cyri~}%
    \def\crefpairgroupconjunction@preamble{ \cyri~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble%
      {, \cyra\ \cyrt\cyra\cyrk\cyrzh\cyre~}%
    \Crefname@preamble{equation}%
      {\CYRF\cyro\cyrr\cyrm\cyru\cyrl\cyra}%
      {\CYRF\cyro\cyrr\cyrm\cyru\cyrl\cyrery}%
    \Crefname@preamble{chapter}%
      {\CYRG\cyrl\cyra\cyrv\cyra}%
      {\CYRG\cyrl\cyra\cyrv\cyrery}%
    \Crefname@preamble{section}%
      {\CYRR\cyra\cyrz\cyrd\cyre\cyrl}%
      {\CYRR\cyra\cyrz\cyrd\cyre\cyrl\cyrery}%
    \Crefname@preamble{appendix}%
      {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}%
      {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}%
    \Crefname@preamble{enumi}%
      {\CYRP\cyru\cyrn\cyrk\cyrt}%
      {\CYRP\cyru\cyrn\cyrk\cyrt\cyrery}%
    \Crefname@preamble{footnote}%
      {\CYRS\cyrn\cyro\cyrs\cyrk\cyra}%
      {\CYRS\cyrn\cyro\cyrs\cyrk\cyri}%
    \Crefname@preamble{figure}%
      {\CYRR\cyri\cyrs\cyru\cyrn\cyro\cyrk}%
      {\CYRR\cyri\cyrs\cyru\cyrn\cyrk\cyri}%
    \Crefname@preamble{table}%
      {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra}%
      {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrery}%
    \Crefname@preamble{theorem}%
      {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyra}%
      {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyrery}%
    \Crefname@preamble{lemma}%
      {\CYRL\cyre\cyrm\cyrm\cyra}%
      {\CYRL\cyre\cyrm\cyrm\cyrery}%
    \Crefname@preamble{corollary}%
      {\CYRV\cyrery\cyrv\cyro\cyrd}%
      {\CYRV\cyrery\cyrv\cyro\cyrd\cyrery}%
    \Crefname@preamble{proposition}%
      {\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyre}%
      {\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyrya}%
    \Crefname@preamble{definition}%
      {\CYRO\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyre}%
      {\CYRO\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyrya}%
    \Crefname@preamble{result}%
      {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt}%
      {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt\cyrery}%
    \Crefname@preamble{example}%
      {\CYRP\cyrr\cyri\cyrm\cyre\cyrr}%
      {\CYRP\cyrr\cyri\cyrm\cyre\cyrr\cyrery}%
    \Crefname@preamble{remark}%
      {\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyre}%
      {\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyrya}%
    \Crefname@preamble{note}%
      {\CYRZ\cyra\cyrm\cyre\cyrt\cyrk\cyra}%
      {\CYRZ\cyra\cyrm\cyre\cyrt\cyrk\cyri}%
    \Crefname@preamble{algorithm}%
      {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm}%
      {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm\cyrery}%
    \Crefname@preamble{line}%
      {\CYRS\cyrt\cyrr\cyro\cyrk\cyra}%
      {\CYRS\cyrt\cyrr\cyro\cyrk\cyri}%
    \if@cref@capitalise%
      \crefname@preamble{equation}%
        {\CYRF-\cyrl.}%
        {\CYRF-\cyrl.}%
      \crefname@preamble{chapter}%
        {\CYRG\cyrl\cyra\cyrv\cyra}%
        {\CYRG\cyrl\cyra\cyrv\cyrery}%
      \crefname@preamble{section}%
        {\CYRR\cyra\cyrz\cyrd\cyre\cyrl}%
        {\CYRR\cyra\cyrz\cyrd\cyre\cyrl\cyrery}%
      \crefname@preamble{appendix}%
        {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}%
        {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}%
      \crefname@preamble{enumi}{\CYRP.}{\CYRP.\cyrp.}%
      \crefname@preamble{footnote}%
        {\CYRS\cyrn\cyro\cyrs\cyrk\cyra}%
        {\CYRS\cyrn\cyro\cyrs\cyrk\cyri}%
      \crefname@preamble{figure}%
        {\CYRR\cyri\cyrs.}%
        {\CYRR\cyri\cyrs.}%
      \crefname@preamble{table}%
        {\CYRT\cyra\cyrb\cyrl.}%
        {\CYRT\cyra\cyrb\cyrl.}%
      \crefname@preamble{theorem}%
        {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyra}%
        {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyrery}%
      \crefname@preamble{lemma}%
        {\CYRL\cyre\cyrm\cyrm\cyra}%
        {\CYRL\cyre\cyrm\cyrm\cyrery}%
      \crefname@preamble{corollary}%
        {\CYRV\cyrery\cyrv\cyro\cyrd}%
        {\CYRV\cyrery\cyrv\cyro\cyrd\cyrery}%
      \crefname@preamble{proposition}%
        {\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyre}%
        {\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyrya}%
      \crefname@preamble{definition}%
        {\CYRO\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyre}%
        {\CYRO\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyrya}%
      \crefname@preamble{result}%
        {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt}%
        {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt\cyrery}%
      \crefname@preamble{example}%
        {\CYRP\cyrr\cyri\cyrm\cyre\cyrr}%
        {\CYRP\cyrr\cyri\cyrm\cyre\cyrr\cyrery}%
      \crefname@preamble{remark}%
        {\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyre}%
        {\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyrya}%
      \crefname@preamble{note}%
        {\CYRZ\cyra\cyrm\cyre\cyrt\cyrk\cyra}%
        {\CYRZ\cyra\cyrm\cyre\cyrt\cyrk\cyri}%
      \crefname@preamble{algorithm}%
        {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm}%
        {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm\cyrery}%
      \crefname@preamble{line}%
        {\CYRS\cyrt\cyrr\cyro\cyrk\cyra}%
        {\CYRS\cyrt\cyrr\cyro\cyrk\cyri}%
    \else%
      \crefname@preamble{equation}{\cyrf-\cyrl.}{\cyrf-\cyrl.}%
      \crefname@preamble{chapter}%
        {\cyrg\cyrl\cyra\cyrv.}%
        {\cyrg\cyrl\cyra\cyrv.}%
      \crefname@preamble{section}%
        {\cyrr\cyra\cyrz\cyrd.}%
        {\cyrr\cyra\cyrz\cyrd\cyre\cyrl.}%
      \crefname@preamble{appendix}%
        {\cyrp\cyrr\cyri\cyrl\cyro\cyrzh.}%
        {\cyrp\cyrr\cyri\cyrl\cyro\cyrzh.}%
      \crefname@preamble{enumi}{\cyrp.}{\cyrp.\cyrp.}%
      \crefname@preamble{footnote}%
        {\cyrs\cyrn\cyro\cyrs\cyrk.}%
        {\cyrs\cyrn\cyro\cyrs\cyrk.}%
      \crefname@preamble{figure}%
        {\cyrr\cyri\cyrs.}%
        {\cyrr\cyri\cyrs.}%
      \crefname@preamble{table}%
        {\cyrt\cyra\cyrb\cyrl.}%
        {\cyrt\cyra\cyrb\cyrl.}%
      \crefname@preamble{theorem}%
        {\cyrt\cyre\cyro\cyrr\cyre\cyrm.}%
        {\cyrt\cyre\cyro\cyrr\cyre\cyrm.}%
      \crefname@preamble{lemma}%
        {\cyrl\cyre\cyrm\cyrm.}%
        {\cyrl\cyre\cyrm\cyrm.}%
      \crefname@preamble{corollary}%
        {\cyrv\cyrery\cyrv\cyro\cyrd}%
        {\cyrv\cyrery\cyrv\cyro\cyrd.}%
      \crefname@preamble{proposition}%
        {\cyru\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd.}%
        {\cyru\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd.}%
      \crefname@preamble{definition}%
        {\cyro\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn.}%
        {\cyro\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn.}%
      \crefname@preamble{result}%
        {\cyrr\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt.}%
        {\cyrr\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt.}%
      \crefname@preamble{example}%
        {\cyrp\cyrr\cyri\cyrm.}%
        {\cyrp\cyrr\cyri\cyrm\cyre\cyrr.}%
      \crefname@preamble{remark}%
        {\cyrp\cyrr\cyri\cyrm\cyre\cyrch.}%
        {\cyrp\cyrr\cyri\cyrm\cyre\cyrch.}%
      \crefname@preamble{note}%
        {\cyrz\cyra\cyrm\cyre\cyrt\cyrk.}%
        {\cyrz\cyra\cyrm\cyre\cyrt\cyrk.}%
      \crefname@preamble{algorithm}%
        {\cyra\cyrl\cyrg.}%
        {\cyra\cyrl\cyrg.}%
      \crefname@preamble{line}%
        {\cyrs\cyrt\cyrr\cyrk.}%
        {\cyrs\cyrt\cyrr\cyrk.}%
    \fi%
    \def\cref@language{russian}%
    \cref@addto\extrasrussian{%
      \renewcommand{\crefrangeconjunction}{--}%
      \renewcommand\crefrangepreconjunction{}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ \cyri~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ \cyri~}%
      \renewcommand{\crefpairgroupconjunction}{ \cyri~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}%
        {, \cyra\ \cyrt\cyra\cyrk\cyrzh\cyre~}%
      \Crefname{equation}%
        {\CYRF\cyro\cyrr\cyrm\cyru\cyrl\cyra}%
        {\CYRF\cyro\cyrr\cyrm\cyru\cyrl\cyrery}%
      \Crefname{chapter}%
        {\CYRG\cyrl\cyra\cyrv\cyra}%
        {\CYRG\cyrl\cyra\cyrv\cyrery}%
      \Crefname{section}%
        {\CYRR\cyra\cyrz\cyrd\cyre\cyrl}%
        {\CYRR\cyra\cyrz\cyrd\cyre\cyrl\cyrery}%
      \Crefname{subsection}%
        {\CYRR\cyra\cyrz\cyrd\cyre\cyrl}%
        {\CYRR\cyra\cyrz\cyrd\cyre\cyrl\cyrery}%
      \Crefname{subsubsection}%
        {\CYRR\cyra\cyrz\cyrd\cyre\cyrl}%
        {\CYRR\cyra\cyrz\cyrd\cyre\cyrl\cyrery}%
      \Crefname{appendix}%
        {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}%
        {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}%
      \Crefname{subappendix}%
        {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}%
        {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}
      \Crefname{subsubappendix}%
        {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}%
        {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}
      \Crefname{subsubsubappendix}%
        {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}%
        {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}
      \Crefname{enumi}%
        {\CYRP\cyru\cyrn\cyrk\cyrt}%
        {\CYRP\cyru\cyrn\cyrk\cyrt\cyrery}%
      \Crefname{enumii}%
        {\CYRP\cyru\cyrn\cyrk\cyrt}%
        {\CYRP\cyru\cyrn\cyrk\cyrt\cyrery}%
      \Crefname{enumiii}%
        {\CYRP\cyru\cyrn\cyrk\cyrt}%
        {\CYRP\cyru\cyrn\cyrk\cyrt\cyrery}%
      \Crefname{enumiv}%
        {\CYRP\cyru\cyrn\cyrk\cyrt}%
        {\CYRP\cyru\cyrn\cyrk\cyrt\cyrery}%
      \Crefname{enumv}%
        {\CYRP\cyru\cyrn\cyrk\cyrt}%
        {\CYRP\cyru\cyrn\cyrk\cyrt\cyrery}%
      \Crefname{footnote}%
        {\CYRS\cyrn\cyro\cyrs\cyrk\cyra}%
        {\CYRS\cyrn\cyro\cyrs\cyrk\cyri}%
      \Crefname{figure}%
        {\CYRR\cyri\cyrs\cyru\cyrn\cyro\cyrk}%
        {\CYRR\cyri\cyrs\cyru\cyrn\cyrk\cyri}%
      \Crefname{subfigure}%
        {\CYRR\cyri\cyrs\cyru\cyrn\cyro\cyrk}%
        {\CYRR\cyri\cyrs\cyru\cyrn\cyrk\cyri}%
      \Crefname{table}%
        {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra}%
        {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrery}%
      \Crefname{subtable}%
        {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra}%
        {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrery}%
      \Crefname{theorem}%
        {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyra}%
        {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyrery}%
      \Crefname{lemma}%
        {\CYRL\cyre\cyrm\cyrm\cyra}%
        {\CYRL\cyre\cyrm\cyrm\cyrery}%
      \Crefname{corollary}%
        {\CYRV\cyrery\cyrv\cyro\cyrd}%
        {\CYRV\cyrery\cyrv\cyro\cyrd\cyrery}%
      \Crefname{proposition}%
        {\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyre}%
        {\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyrya}%
      \Crefname{definition}%
        {\CYRO\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyre}%
        {\CYRO\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyrya}%
      \Crefname{result}%
        {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt}%
        {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt\cyrery}%
      \Crefname{example}%
        {\CYRP\cyrr\cyri\cyrm\cyre\cyrr}%
        {\CYRP\cyrr\cyri\cyrm\cyre\cyrr\cyrery}%
      \Crefname{remark}%
        {\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyre}%
        {\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyrya}%
      \Crefname{note}%
        {\CYRZ\cyra\cyrm\cyre\cyrt\cyrk\cyra}%
        {\CYRZ\cyra\cyrm\cyre\cyrt\cyrk\cyri}%
      \Crefname{algorithm}%
        {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm}%
        {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm\cyrery}%
      \Crefname{line}%
        {\CYRS\cyrt\cyrr\cyro\cyrk\cyra}%
        {\CYRS\cyrt\cyrr\cyro\cyrk\cyri}%
      \if@cref@capitalise%
        \crefname{equation}{\CYRF-\cyrl.}{\CYRF-\cyrl.}%
        \crefname{chapter}%
          {\CYRG\cyrl\cyra\cyrv\cyra}%
          {\CYRG\cyrl\cyra\cyrv\cyrery}%
        \crefname{section}%
          {\CYRR\cyra\cyrz\cyrd\cyre\cyrl}%
          {\CYRR\cyra\cyrz\cyrd\cyre\cyrl\cyrery}%
        \crefname{subsection}%
          {\CYRR\cyra\cyrz\cyrd\cyre\cyrl}%
          {\CYRR\cyra\cyrz\cyrd\cyre\cyrl\cyrery}%
        \crefname{subsubsection}%
          {\CYRR\cyra\cyrz\cyrd\cyre\cyrl}%
          {\CYRR\cyra\cyrz\cyrd\cyre\cyrl\cyrery}%
        \crefname{appendix}%
          {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}%
          {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}%
        \crefname{subappendix}%
          {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}%
          {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}%
        \crefname{subsubappendix}%
          {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}%
          {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}%
        \crefname{subsubsubappendix}%
          {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}%
          {\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyrya}%
        \crefname{enumi}{\CYRP.}{\CYRP.\cyrp.}%
        \crefname{enumii}{\CYRP.}{\CYRP.\cyrp.}%
        \crefname{enumiii}{\CYRP.}{\CYRP.\cyrp.}%
        \crefname{enumiv}{\CYRP.}{\CYRP.\cyrp.}%
        \crefname{enumv}{\CYRP.}{\CYRP.\cyrp.}%
        \crefname{footnote}%
          {\CYRS\cyrn\cyro\cyrs\cyrk\cyra}%
          {\CYRS\cyrn\cyro\cyrs\cyrk\cyri}%
        \crefname{figure}%
          {\CYRR\cyri\cyrs.}%
          {\CYRR\cyri\cyrs.}%
        \crefname{subfigure}%
          {\CYRR\cyri\cyrs.}%
          {\CYRR\cyri\cyrs.}%
        \crefname{table}%
          {\CYRT\cyra\cyrb\cyrl.}%
          {\CYRT\cyra\cyrb\cyrl.}%
        \crefname{subtable}%
          {\CYRT\cyra\cyrb\cyrl.}%
          {\CYRT\cyra\cyrb\cyrl.}%
        \crefname{theorem}%
          {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyra}%
          {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyrery}%
        \crefname{lemma}%
          {\CYRL\cyre\cyrm\cyrm\cyra}%
          {\CYRL\cyre\cyrm\cyrm\cyrery}%
        \crefname{corollary}%
          {\CYRV\cyrery\cyrv\cyro\cyrd}%
          {\CYRV\cyrery\cyrv\cyro\cyrd\cyrery}%
        \crefname{proposition}%
          {\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyre}%
          {\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyrya}%
        \crefname{definition}%
          {\CYRO\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyre}%
          {\CYRO\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyrya}%
        \crefname{result}%
          {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt}%
          {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt\cyrery}%
        \crefname{example}%
          {\CYRP\cyrr\cyri\cyrm\cyre\cyrr}%
          {\CYRP\cyrr\cyri\cyrm\cyre\cyrr\cyrery}%
        \crefname{remark}%
          {\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyre}%
          {\CYRP\cyrr\cyri\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyrya}%
        \crefname{note}%
          {\CYRZ\cyra\cyrm\cyre\cyrt\cyrk\cyra}%
          {\CYRZ\cyra\cyrm\cyre\cyrt\cyrk\cyri}%
        \crefname{algorithm}%
          {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm}%
          {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm\cyrery}%
        \crefname{line}%
          {\CYRS\cyrt\cyrr\cyro\cyrk\cyra}%
          {\CYRS\cyrt\cyrr\cyro\cyrk\cyri}%
      \else%
        \crefname{equation}{\cyrf-\cyrl.}{\cyrf-\cyrl.}%
        \crefname{chapter}%
          {\cyrg\cyrl\cyra\cyrv.}%
          {\cyrg\cyrl\cyra\cyrv.}%
        \crefname{section}%
          {\cyrr\cyra\cyrz\cyrd.}%
          {\cyrr\cyra\cyrz\cyrd\cyre\cyrl.}%
        \crefname{subsection}%
          {\cyrr\cyra\cyrz\cyrd.}%
          {\cyrr\cyra\cyrz\cyrd\cyre\cyrl.}%
        \crefname{subsubsection}%
          {\cyrr\cyra\cyrz\cyrd.}%
          {\cyrr\cyra\cyrz\cyrd\cyre\cyrl.}%
        \crefname{appendix}%
          {\cyrp\cyrr\cyri\cyrl\cyro\cyrzh.}%
          {\cyrp\cyrr\cyri\cyrl\cyro\cyrzh.}%
        \crefname{subappendix}%
          {\cyrp\cyrr\cyri\cyrl\cyro\cyrzh.}%
          {\cyrp\cyrr\cyri\cyrl\cyro\cyrzh.}%
        \crefname{subsubappendix}%
          {\cyrp\cyrr\cyri\cyrl\cyro\cyrzh.}%
          {\cyrp\cyrr\cyri\cyrl\cyro\cyrzh.}%
        \crefname{subsubsubappendix}%
          {\cyrp\cyrr\cyri\cyrl\cyro\cyrzh.}%
          {\cyrp\cyrr\cyri\cyrl\cyro\cyrzh.}%
        \crefname{enumi}{\cyrp.}{\cyrp.\cyrp.}%
        \crefname{enumii}{\cyrp.}{\cyrp.\cyrp.}%
        \crefname{enumiii}{\cyrp.}{\cyrp.\cyrp.}%
        \crefname{enumiv}{\cyrp.}{\cyrp.\cyrp.}%
        \crefname{enumv}{\cyrp.}{\cyrp.\cyrp.}%
        \crefname{footnote}%
          {\cyrs\cyrn\cyro\cyrs\cyrk.}%
          {\cyrs\cyrn\cyro\cyrs\cyrk.}%
        \crefname{figure}%
          {\cyrr\cyri\cyrs.}%
          {\cyrr\cyri\cyrs.}%
        \crefname{subfigure}%
          {\cyrr\cyri\cyrs.}%
          {\cyrr\cyri\cyrs.}%
        \crefname{table}%
          {\cyrt\cyra\cyrb\cyrl.}%
          {\cyrt\cyra\cyrb\cyrl.}%
        \crefname{subtable}%
          {\cyrt\cyra\cyrb\cyrl.}%
          {\cyrt\cyra\cyrb\cyrl.}%
        \crefname{theorem}%
          {\cyrt\cyre\cyro\cyrr\cyre\cyrm.}%
          {\cyrt\cyre\cyro\cyrr\cyre\cyrm.}%
        \crefname{lemma}%
          {\cyrl\cyre\cyrm\cyrm.}%
          {\cyrl\cyre\cyrm\cyrm.}%
        \crefname{corollary}%
          {\cyrv\cyrery\cyrv\cyro\cyrd}%
          {\cyrv\cyrery\cyrv\cyro\cyrd.}%
        \crefname{proposition}%
          {\cyru\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd.}%
          {\cyru\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd.}%
        \crefname{definition}%
          {\cyro\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn.}%
          {\cyro\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn.}%
        \crefname{result}%
          {\cyrr\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt.}%
          {\cyrr\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt.}%
        \crefname{example}%
          {\cyrp\cyrr\cyri\cyrm.}%
          {\cyrp\cyrr\cyri\cyrm\cyre\cyrr.}%
        \crefname{remark}%
          {\cyrp\cyrr\cyri\cyrm\cyre\cyrch.}%
          {\cyrp\cyrr\cyri\cyrm\cyre\cyrch.}%
        \crefname{note}%
          {\cyrz\cyra\cyrm\cyre\cyrt\cyrk.}%
          {\cyrz\cyra\cyrm\cyre\cyrt\cyrk.}%
        \crefname{algorithm}%
          {\cyra\cyrl\cyrg.}%
          {\cyra\cyrl\cyrg.}%
        \crefname{line}%
          {\cyrs\cyrt\cyrr\cyrk.}%
          {\cyrs\cyrt\cyrr\cyrk.}%
      \fi%
    }}}
\DeclareOption{ukrainian}{%
  \PackageInfo{cleveref}{loaded `ukrainian' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{--}%
    \def\crefrangepreconjunction@preamble{}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ \cyrii~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ \cyrii~}%
    \def\crefpairgroupconjunction@preamble{ \cyrt\cyra~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble%
      {, \cyra\ \cyrt\cyra\cyrk\cyro\cyrzh~}%
    \Crefname@preamble{equation}%
      {\CYRF\cyro\cyrr\cyrm\cyru\cyrl\cyra}%
      {\CYRF\cyro\cyrr\cyrm\cyru\cyrl\cyri}%
    \Crefname@preamble{chapter}%
      {\CYRG\cyrl\cyra\cyrv\cyra}%
      {\CYRG\cyrl\cyra\cyrv\cyri}%
    \Crefname@preamble{section}%
      {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}%
      {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl\cyri}%
    \Crefname@preamble{appendix}%
      {\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}%
      {\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}%
    \Crefname@preamble{enumi}%
      {\CYRP\cyru\cyrn\cyrk\cyrt}%
      {\CYRP\cyru\cyrn\cyrk\cyrt\cyri}%
    \Crefname@preamble{footnote}%
      {\CYRV\cyri\cyrn\cyro\cyrs\cyrk\cyra}%
      {\CYRV\cyri\cyrn\cyro\cyrs\cyrk\cyri}%
    \Crefname@preamble{figure}%
      {\CYRR\cyri\cyrs\cyru\cyrn\cyro\cyrk}%
      {\CYRR\cyri\cyrs\cyru\cyrn\cyrk\cyri}%
    \Crefname@preamble{table}%
      {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrya}%
      {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrii}%
    \Crefname@preamble{theorem}%
      {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyra}%
      {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyri}%
    \Crefname@preamble{lemma}%
      {\CYRL\cyre\cyrm\cyrm\cyra}%
      {\CYRL\cyre\cyrm\cyrm\cyri}%
    \Crefname@preamble{corollary}%
      {\CYRV\cyri\cyrs\cyrn\cyro\cyrv\cyro\cyrk}%
      {\CYRV\cyri\cyrs\cyrn\cyro\cyrv\cyrk\cyri}%
    \Crefname@preamble{proposition}%
      {\CYRT\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn\cyrya}%
      {\CYRT\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn\cyrya}%
    \Crefname@preamble{definition}%
      {\CYRV\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}%
      {\CYRV\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}%
    \Crefname@preamble{result}%
      {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt}%
      {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt\cyri}%
    \Crefname@preamble{example}%
      {\CYRP\cyrr\cyri\cyrk\cyrl\cyra\cyrd}%
      {\CYRP\cyrr\cyri\cyrk\cyrl\cyra\cyrd\cyri}%
    \Crefname@preamble{remark}%
      {\CYRP\cyrr\cyri\cyrm\cyrii\cyrt\cyrk\cyra}%
      {\CYRP\cyrr\cyri\cyrm\cyrii\cyrt\cyrk\cyri}%
    \Crefname@preamble{note}%
      {\CYRZ\cyra\cyrm\cyrii\cyrt\cyrk\cyra}%
      {\CYRZ\cyra\cyrm\cyrii\cyrt\cyrk\cyri}%
    \Crefname@preamble{algorithm}%
      {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm}%
      {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm\cyri}%
    \Crefname@preamble{line}%
      {\CYRS\cyrt\cyrr\cyro\cyrk\cyra}%
      {\CYRS\cyrt\cyrr\cyro\cyrk\cyri}%
    \if@cref@capitalise%
      \crefname@preamble{equation}{\CYRF-\cyrl.}{\CYRF-\cyrl.}%
      \crefname@preamble{chapter}%
        {\CYRG\cyrl\cyra\cyrv\cyra}%
        {\CYRG\cyrl\cyra\cyrv\cyri}%
      \crefname@preamble{section}%
        {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}%
        {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl\cyri}%
      \crefname@preamble{appendix}%
        {\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}%
        {\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}%
      \crefname@preamble{enumi}{\CYRP.}{\CYRP.\cyrp.}%
      \crefname@preamble{footnote}%
        {\CYRV\cyri\cyrn\cyro\cyrs\cyrk\cyra}%
        {\CYRV\cyri\cyrn\cyro\cyrs\cyrk\cyri}%
      \crefname@preamble{figure}%
        {\CYRR\cyri\cyrs.}%
        {\CYRR\cyri\cyrs.}%
      \crefname@preamble{table}%
        {\CYRT\cyra\cyrb\cyrl.}%
        {\CYRT\cyra\cyrb\cyrl.}%
      \crefname@preamble{theorem}%
        {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyra}%
        {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyri}%
      \crefname@preamble{lemma}%
        {\CYRL\cyre\cyrm\cyrm\cyra}%
        {\CYRL\cyre\cyrm\cyrm\cyri}%
      \crefname@preamble{corollary}%
        {\CYRV\cyri\cyrs\cyrn\cyro\cyrv\cyro\cyrk}%
        {\CYRV\cyri\cyrs\cyrn\cyro\cyrv\cyrk\cyri}%
      \crefname@preamble{proposition}%
        {\CYRT\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn\cyrya}%
        {\CYRT\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn\cyrya}%
      \crefname@preamble{definition}%
        {\CYRV\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}%
        {\CYRV\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}%
      \crefname@preamble{result}%
        {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt}%
        {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt\cyri}%
      \crefname@preamble{example}%
        {\CYRP\cyrr\cyri\cyrk\cyrl\cyra\cyrd}%
        {\CYRP\cyrr\cyri\cyrk\cyrl\cyra\cyrd\cyri}%
      \crefname@preamble{remark}%
        {\CYRP\cyrr\cyri\cyrm\cyrii\cyrt\cyrk\cyra}%
        {\CYRP\cyrr\cyri\cyrm\cyrii\cyrt\cyrk\cyri}%
      \crefname@preamble{note}%
        {\CYRZ\cyra\cyrm\cyrii\cyrt\cyrk\cyra}%
        {\CYRZ\cyra\cyrm\cyrii\cyrt\cyrk\cyri}%
      \crefname@preamble{algorithm}%
        {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm}%
        {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm\cyri}%
      \crefname@preamble{line}%
        {\CYRS\cyrt\cyrr\cyro\cyrk\cyra}%
        {\CYRS\cyrt\cyrr\cyro\cyrk\cyri}%
    \else%
      \crefname@preamble{equation}{\cyrf-\cyrl.}{\cyrf-\cyrl.}%
      \crefname@preamble{chapter}%
        {\cyrg\cyrl\cyra\cyrv.}%
        {\cyrg\cyrl\cyra\cyrv.}%
      \crefname@preamble{section}%
        {\cyrr\cyro\cyrz\cyrd.}%
        {\cyrr\cyro\cyrz\cyrd\cyrii\cyrl.}%
      \crefname@preamble{appendix}%
        {\cyrd\cyro\cyrd\cyra\cyrt.}%
        {\cyrd\cyro\cyrd\cyra\cyrt\cyrk.}%
      \crefname@preamble{enumi}{\cyrp.}{\cyrp.\cyrp.}%
      \crefname@preamble{footnote}%
        {\cyrv\cyri\cyrn\cyro\cyrs\cyrk.}%
        {\cyrv\cyri\cyrn\cyro\cyrs\cyrk.}%
      \crefname@preamble{figure}%
        {\cyrr\cyri\cyrs.}%
        {\cyrr\cyri\cyrs.}%
      \crefname@preamble{table}%
        {\cyrt\cyra\cyrb\cyrl.}%
        {\cyrt\cyra\cyrb\cyrl.}%
      \crefname@preamble{theorem}%
        {\cyrt\cyre\cyro\cyrr\cyre\cyrm.}%
        {\cyrt\cyre\cyro\cyrr\cyre\cyrm.}%
      \crefname@preamble{lemma}%
        {\cyrl\cyre\cyrm\cyrm.}%
        {\cyrl\cyre\cyrm\cyrm.}%
      \crefname@preamble{corollary}%
        {\cyrv\cyri\cyrs\cyrn\cyro\cyrv.}%
        {\cyrv\cyri\cyrs\cyrn\cyro\cyrv\cyrk.}%
      \crefname@preamble{proposition}%
        {\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn.}%
        {\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn.}%
      \crefname@preamble{definition}%
        {\cyrv\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn.}%
        {\cyrv\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn.}%
      \crefname@preamble{result}%
        {\cyrr\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt.}%
        {\cyrr\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt.}%
      \crefname@preamble{example}%
        {\cyrp\cyrr\cyri\cyrk\cyrl.}%
        {\cyrp\cyrr\cyri\cyrk\cyrl\cyra\cyrd.}%
      \crefname@preamble{remark}%
        {\cyrp\cyrr\cyri\cyrm\cyrii\cyrt.}%
        {\cyrp\cyrr\cyri\cyrm\cyrii\cyrt.}%
      \crefname@preamble{note}%
        {\cyrz\cyra\cyrm\cyrii\cyrt.}%
        {\cyrz\cyra\cyrm\cyrii\cyrt.}%
      \crefname@preamble{algorithm}%
        {\cyra\cyrl\cyrg.}%
        {\cyra\cyrl\cyrg.}%
      \crefname@preamble{line}%
        {\cyrs\cyrt\cyrr\cyrk.}%
        {\cyrs\cyrt\cyrr\cyrk.}%
    \fi%
    \def\cref@language{ukrainian}%
    \cref@addto\extrasukrainian{%
      \renewcommand{\crefrangeconjunction}{--}%
      \renewcommand\crefrangepreconjunction{}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ \cyrii~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ \cyrii~}%
      \renewcommand{\crefpairgroupconjunction}{ \cyrt\cyra~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}%
        {, \cyra\ \cyrt\cyra\cyrk\cyro\cyrzh~}%
      \Crefname{equation}%
        {\CYRF\cyro\cyrr\cyrm\cyru\cyrl\cyra}%
        {\CYRF\cyro\cyrr\cyrm\cyru\cyrl\cyri}%
      \Crefname{chapter}%
        {\CYRG\cyrl\cyra\cyrv\cyra}%
        {\CYRG\cyrl\cyra\cyrv\cyri}%
      \Crefname{section}%
        {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}%
        {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl\cyri}%
      \Crefname{subsection}%
        {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}%
        {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl\cyri}%
      \Crefname{subsubsection}%
        {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}%
        {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl\cyri}%
      \Crefname{appendix}%
        {\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}%
        {\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}%
      \Crefname{subappendix}%
        {\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}%
        {\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}%
      \Crefname{subsubappendix}%
        {\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}%
        {\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}%
      \Crefname{subsubsubappendix}%
        {\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}%
        {\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}%
      \Crefname{enumi}%
        {\CYRP\cyru\cyrn\cyrk\cyrt}%
        {\CYRP\cyru\cyrn\cyrk\cyrt\cyri}%
      \Crefname{enumii}%
        {\CYRP\cyru\cyrn\cyrk\cyrt}%
        {\CYRP\cyru\cyrn\cyrk\cyrt\cyri}%
      \Crefname{enumiii}%
        {\CYRP\cyru\cyrn\cyrk\cyrt}%
        {\CYRP\cyru\cyrn\cyrk\cyrt\cyri}%
      \Crefname{enumiv}%
        {\CYRP\cyru\cyrn\cyrk\cyrt}%
        {\CYRP\cyru\cyrn\cyrk\cyrt\cyri}%
      \Crefname{enumv}%
        {\CYRP\cyru\cyrn\cyrk\cyrt}%
        {\CYRP\cyru\cyrn\cyrk\cyrt\cyri}%
      \Crefname{footnote}%
        {\CYRV\cyri\cyrn\cyro\cyrs\cyrk\cyra}%
        {\CYRV\cyri\cyrn\cyro\cyrs\cyrk\cyri}%
      \Crefname{figure}%
        {\CYRR\cyri\cyrs\cyru\cyrn\cyro\cyrk}%
        {\CYRR\cyri\cyrs\cyru\cyrn\cyrk\cyri}%
      \Crefname{subfigure}%
        {\CYRR\cyri\cyrs\cyru\cyrn\cyro\cyrk}%
        {\CYRR\cyri\cyrs\cyru\cyrn\cyrk\cyri}%
      \Crefname{table}%
        {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrya}%
        {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrii}%
      \Crefname{subtable}%
        {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrya}%
        {\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyrii}%
      \Crefname{theorem}%
        {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyra}%
        {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyri}%
      \Crefname{lemma}%
        {\CYRL\cyre\cyrm\cyrm\cyra}%
        {\CYRL\cyre\cyrm\cyrm\cyri}%
      \Crefname{corollary}%
        {\CYRV\cyri\cyrs\cyrn\cyro\cyrv\cyro\cyrk}%
        {\CYRV\cyri\cyrs\cyrn\cyro\cyrv\cyrk\cyri}%
      \Crefname{proposition}%
        {\CYRT\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn\cyrya}%
        {\CYRT\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn\cyrya}%
      \Crefname{definition}%
        {\CYRV\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}%
        {\CYRV\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}%
      \Crefname{result}%
        {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt}%
        {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt\cyri}%
      \Crefname{example}%
        {\CYRP\cyrr\cyri\cyrk\cyrl\cyra\cyrd}%
        {\CYRP\cyrr\cyri\cyrk\cyrl\cyra\cyrd\cyri}%
      \Crefname{remark}%
        {\CYRP\cyrr\cyri\cyrm\cyrii\cyrt\cyrk\cyra}%
        {\CYRP\cyrr\cyri\cyrm\cyrii\cyrt\cyrk\cyri}%
      \Crefname{note}%
        {\CYRZ\cyra\cyrm\cyrii\cyrt\cyrk\cyra}%
        {\CYRZ\cyra\cyrm\cyrii\cyrt\cyrk\cyri}%
      \Crefname{algorithm}%
        {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm}%
        {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm\cyri}%
      \Crefname{line}%
        {\CYRS\cyrt\cyrr\cyro\cyrk\cyra}%
        {\CYRS\cyrt\cyrr\cyro\cyrk\cyri}%
      \if@cref@capitalise%
        \crefname{equation}{\CYRF-\cyrl.}{\CYRF-\cyrl.}%
        \crefname{chapter}%
          {\CYRG\cyrl\cyra\cyrv\cyra}%
          {\CYRG\cyrl\cyra\cyrv\cyri}%
        \crefname{section}%
          {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}%
          {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl\cyri}%
        \crefname{subsection}%
          {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}%
          {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl\cyri}%
        \crefname{subsubsection}%
          {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl}%
          {\CYRR\cyro\cyrz\cyrd\cyrii\cyrl\cyri}%
        \crefname{appendix}%
          {\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}%
          {\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}%
        \crefname{subappendix}%
          {\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}%
          {\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}%
        \crefname{subsubappendix}%
          {\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}%
          {\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}%
        \crefname{subsubsubappendix}%
          {\CYRD\cyro\cyrd\cyra\cyrt\cyro\cyrk}%
          {\CYRD\cyro\cyrd\cyra\cyrt\cyrk\cyri}%
        \crefname{enumi}{\CYRP.}{\CYRP.\cyrp.}%
        \crefname{enumii}{\CYRP.}{\CYRP.\cyrp.}%
        \crefname{enumiii}{\CYRP.}{\CYRP.\cyrp.}%
        \crefname{enumiv}{\CYRP.}{\CYRP.\cyrp.}%
        \crefname{enumv}{\CYRP.}{\CYRP.\cyrp.}%
        \crefname{footnote}%
          {\CYRV\cyri\cyrn\cyro\cyrs\cyrk\cyra}%
          {\CYRV\cyri\cyrn\cyro\cyrs\cyrk\cyri}%
        \crefname{figure}%
          {\CYRR\cyri\cyrs.}%
          {\CYRR\cyri\cyrs.}%
        \crefname{subfigure}%
          {\CYRR\cyri\cyrs.}%
          {\CYRR\cyri\cyrs.}%
        \crefname{table}%
          {\CYRT\cyra\cyrb\cyrl.}%
          {\CYRT\cyra\cyrb\cyrl.}%
        \crefname{subtable}%
          {\CYRT\cyra\cyrb\cyrl.}%
          {\CYRT\cyra\cyrb\cyrl.}%
        \crefname{theorem}%
          {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyra}%
          {\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyri}%
        \crefname{lemma}%
          {\CYRL\cyre\cyrm\cyrm\cyra}%
          {\CYRL\cyre\cyrm\cyrm\cyri}%
        \crefname{corollary}%
          {\CYRV\cyri\cyrs\cyrn\cyro\cyrv\cyro\cyrk}%
          {\CYRV\cyri\cyrs\cyrn\cyro\cyrv\cyrk\cyri}%
        \crefname{proposition}%
          {\CYRT\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn\cyrya}%
          {\CYRT\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn\cyrya}%
        \crefname{definition}%
          {\CYRV\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}%
          {\CYRV\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn\cyrya}%
        \crefname{result}%
          {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt}%
          {\CYRR\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt\cyri}%
        \crefname{example}%
          {\CYRP\cyrr\cyri\cyrk\cyrl\cyra\cyrd}%
          {\CYRP\cyrr\cyri\cyrk\cyrl\cyra\cyrd\cyri}%
        \crefname{remark}%
          {\CYRP\cyrr\cyri\cyrm\cyrii\cyrt\cyrk\cyra}%
          {\CYRP\cyrr\cyri\cyrm\cyrii\cyrt\cyrk\cyri}%
        \crefname{note}%
          {\CYRZ\cyra\cyrm\cyrii\cyrt\cyrk\cyra}%
          {\CYRZ\cyra\cyrm\cyrii\cyrt\cyrk\cyri}%
        \crefname{algorithm}%
          {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm}%
          {\CYRA\cyrl\cyrg\cyro\cyrr\cyri\cyrt\cyrm\cyri}%
        \crefname{line}%
          {\CYRS\cyrt\cyrr\cyro\cyrk\cyra}%
          {\CYRS\cyrt\cyrr\cyro\cyrk\cyri}%
      \else%
        \crefname{equation}{\cyrf-\cyrl.}{\cyrf-\cyrl.}%
        \crefname{chapter}%
          {\cyrg\cyrl\cyra\cyrv.}%
          {\cyrg\cyrl\cyra\cyrv.}%
        \crefname{section}%
          {\cyrr\cyro\cyrz\cyrd.}%
          {\cyrr\cyro\cyrz\cyrd\cyrii\cyrl.}%
        \crefname{subsection}%
          {\cyrr\cyro\cyrz\cyrd.}%
          {\cyrr\cyro\cyrz\cyrd\cyrii\cyrl.}%
        \crefname{subsubsection}%
          {\cyrr\cyro\cyrz\cyrd.}%
          {\cyrr\cyro\cyrz\cyrd\cyrii\cyrl.}%
        \crefname{appendix}%
          {\cyrd\cyro\cyrd\cyra\cyrt.}%
          {\cyrd\cyro\cyrd\cyra\cyrt\cyrk.}%
        \crefname{subappendix}%
          {\cyrd\cyro\cyrd\cyra\cyrt.}%
          {\cyrd\cyro\cyrd\cyra\cyrt\cyrk.}%
        \crefname{subsubappendix}%
          {\cyrd\cyro\cyrd\cyra\cyrt.}%
          {\cyrd\cyro\cyrd\cyra\cyrt\cyrk.}%
        \crefname{subsubsubappendix}%
          {\cyrd\cyro\cyrd\cyra\cyrt.}%
          {\cyrd\cyro\cyrd\cyra\cyrt\cyrk.}%
        \crefname{enumi}{\cyrp.}{\cyrp.\cyrp.}%
        \crefname{enumii}{\cyrp.}{\cyrp.\cyrp.}%
        \crefname{enumiii}{\cyrp.}{\cyrp.\cyrp.}%
        \crefname{enumiv}{\cyrp.}{\cyrp.\cyrp.}%
        \crefname{enumv}{\cyrp.}{\cyrp.\cyrp.}%
        \crefname{footnote}%
          {\cyrv\cyri\cyrn\cyro\cyrs\cyrk.}%
          {\cyrv\cyri\cyrn\cyro\cyrs\cyrk.}%
        \crefname{figure}%
          {\cyrr\cyri\cyrs.}%
          {\cyrr\cyri\cyrs.}%
        \crefname{subfigure}%
          {\cyrr\cyri\cyrs.}%
          {\cyrr\cyri\cyrs.}%
        \crefname{table}%
          {\cyrt\cyra\cyrb\cyrl.}%
          {\cyrt\cyra\cyrb\cyrl.}%
        \crefname{subtable}%
          {\cyrt\cyra\cyrb\cyrl.}%
          {\cyrt\cyra\cyrb\cyrl.}%
        \crefname{theorem}%
          {\cyrt\cyre\cyro\cyrr\cyre\cyrm.}%
          {\cyrt\cyre\cyro\cyrr\cyre\cyrm.}%
        \crefname{lemma}{\cyrl\cyre\cyrm\cyrm.}{\cyrl\cyre\cyrm\cyrm.}%
        \crefname{corollary}%
          {\cyrv\cyri\cyrs\cyrn\cyro\cyrv.}%
          {\cyrv\cyri\cyrs\cyrn\cyro\cyrv\cyrk.}%
        \crefname{proposition}%
          {\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn.}%
          {\cyrt\cyrv\cyre\cyrr\cyrd\cyrzh\cyre\cyrn\cyrn.}%
        \crefname{definition}%
          {\cyrv\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn.}%
          {\cyrv\cyri\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrn.}%
        \crefname{result}%
          {\cyrr\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt.}%
          {\cyrr\cyre\cyrz\cyru\cyrl\cyrsftsn\cyrt\cyra\cyrt.}%
        \crefname{example}%
          {\cyrp\cyrr\cyri\cyrk\cyrl.}%
          {\cyrp\cyrr\cyri\cyrk\cyrl\cyra\cyrd.}%
        \crefname{remark}%
          {\cyrp\cyrr\cyri\cyrm\cyrii\cyrt.}%
          {\cyrp\cyrr\cyri\cyrm\cyrii\cyrt.}%
        \crefname{note}%
          {\cyrz\cyra\cyrm\cyrii\cyrt.}%
          {\cyrz\cyra\cyrm\cyrii\cyrt.}%
        \crefname{algorithm}%
          {\cyra\cyrl\cyrg.}%
          {\cyra\cyrl\cyrg.}%
        \crefname{line}%
          {\cyrs\cyrt\cyrr\cyrk.}%
          {\cyrs\cyrt\cyrr\cyrk.}%
      \fi%
    }}}
\edef\@curroptions{\@ptionlist{\@currname.\@currext}}%
\@expandtwoargs\in@{,capitalise,}{%
  ,\@classoptionslist,\@curroptions,}%
\ifin@%
  \ExecuteOptions{capitalise}%
\else%
  \@expandtwoargs\in@{,capitalize,}{%
    ,\@classoptionslist,\@curroptions,}%
  \ifin@%
    \ExecuteOptions{capitalise}%
  \fi%
\fi%
\ExecuteOptions{english}
\ProcessOptions*\relax
\AtBeginDocument{%
  \edef\@tmpa{%
    \expandafter\noexpand\csname extras\cref@language\endcsname}%
  \@ifundefined{crefrangeconjunction}{%
    \let\crefrangeconjunction\crefrangeconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefrangeconjunction\expandafter}%
      \expandafter{\crefrangeconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{crefrangepreconjunction}{%
    \let\crefrangepreconjunction\crefrangepreconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefrangepreconjunction\expandafter}%
      \expandafter{\crefrangepreconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{crefrangepostconjunction}{%
    \let\crefrangepostconjunction\crefrangepostconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefrangepostconjunction\expandafter}%
      \expandafter{\crefrangepostconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{crefpairconjunction}{%
    \let\crefpairconjunction\crefpairconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefpairconjunction\expandafter}%
      \expandafter{\crefpairconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
    \@ifundefined{crefpairgroupconjunction}{%
      \let\crefpairgroupconjunction\crefpairconjunction}{}%
  }%
  \@ifundefined{crefmiddleconjunction}{%
    \let\crefmiddleconjunction\crefmiddleconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefmiddleconjunction\expandafter}%
      \expandafter{\crefmiddleconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
    \@ifundefined{crefmiddlegroupconjunction}{%
      \let\crefmiddlegroupconjunction\crefmiddleconjunction}{}%
  }%
  \@ifundefined{creflastconjunction}{%
    \let\creflastconjunction\creflastconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\creflastconjunction\expandafter}%
      \expandafter{\creflastconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
    \@ifundefined{creflastgroupconjunction}{%
      \edef\creflastgroupconjunction{, \creflastconjunction}}{}%
  }%
  \@ifundefined{crefpairgroupconjunction}{%
    \let\crefpairgroupconjunction%
    \crefpairgroupconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefpairgroupconjunction\expandafter}%
      \expandafter{\crefpairgroupconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{crefmiddlegroupconjunction}{%
    \let\crefmiddlegroupconjunction%
      \crefmiddlegroupconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefmiddlegroupconjunction\expandafter}%
      \expandafter{\crefmiddlegroupconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{creflastgroupconjunction}{%
    \let\creflastgroupconjunction%
      \creflastgroupconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\creflastgroupconjunction\expandafter}%
      \expandafter{\creflastgroupconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \let\@tmpstack\cref@label@types%
  \cref@isstackfull{\@tmpstack}%
  \@whilesw\if@cref@stackfull\fi{%
    \edef\@tmpa{\cref@stack@top{\@tmpstack}}%
    \@ifundefined{cref@\@tmpa @name}{%
      \expandafter\def\expandafter\@tmpb\expandafter{%
        \csname cref@\@tmpa @name\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \csname cref@\@tmpa @name@preamble\endcsname}%
      \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc%
      \expandafter\def\expandafter\@tmpb\expandafter{%
        \csname cref@\@tmpa @name@plural\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \csname cref@\@tmpa @name@plural@preamble\endcsname}%
      \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc%
    }{%
      \edef\@tmpb{%
        \expandafter\noexpand\csname extras\cref@language\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \expandafter\crefname\expandafter{\@tmpa}}%
      \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\expandafter\expandafter\@tmpc%
      \expandafter\expandafter\expandafter{%
        \expandafter\expandafter\expandafter{%
          \csname cref@\@tmpa @name\endcsname}}%
      \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\expandafter\expandafter\@tmpc%
      \expandafter\expandafter\expandafter{%
        \expandafter\expandafter\expandafter{%
          \csname cref@\@tmpa @name@plural\endcsname}}%
      \expandafter\expandafter\expandafter\cref@addto%
        \expandafter\@tmpb\expandafter{\@tmpc}%
    }%
    \@ifundefined{Cref@\@tmpa @name}{%
      \expandafter\def\expandafter\@tmpb\expandafter{%
        \csname Cref@\@tmpa @name\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \csname Cref@\@tmpa @name@preamble\endcsname}%
      \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc%
      \expandafter\def\expandafter\@tmpb\expandafter{%
        \csname Cref@\@tmpa @name@plural\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \csname Cref@\@tmpa @name@plural@preamble\endcsname}%
      \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc%
    }{%
      \edef\@tmpb{%
        \expandafter\noexpand\csname extras\cref@language\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \expandafter\Crefname\expandafter{\@tmpa}}%
      \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\expandafter\expandafter\@tmpc%
      \expandafter\expandafter\expandafter{%
        \expandafter\expandafter\expandafter{%
          \csname Cref@\@tmpa @name\endcsname}}%
      \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\expandafter\expandafter\@tmpc%
      \expandafter\expandafter\expandafter{%
        \expandafter\expandafter\expandafter{%
          \csname Cref@\@tmpa @name@plural\endcsname}}%
      \expandafter\expandafter\expandafter\cref@addto%
        \expandafter\@tmpb\expandafter{\@tmpc}%
    }%
    \@ifundefined{cref@\@tmpa @format}{%
      \@ifundefined{cref@\@tmpa @name}{}{%
        \expandafter\@crefdefineformat\expandafter{\@tmpa}}}{}%
    \@ifundefined{crefrange@\@tmpa @format}{%
      \@ifundefined{cref@\@tmpa @name@plural}{}{%
        \expandafter\@crefrangedefineformat\expandafter{\@tmpa}}}{}%
    \@ifundefined{cref@\@tmpa @format@first}{%
      \@ifundefined{cref@\@tmpa @name@plural}{}{%
        \expandafter\@crefdefinemultiformat\expandafter{\@tmpa}}}{}%
    \@ifundefined{crefrange@\@tmpa @format@first}{%
      \@ifundefined{cref@\@tmpa @name@plural}{}{%
        \expandafter\@crefrangedefinemultiformat%
        \expandafter{\@tmpa}}}{}%
    \cref@stack@pop{\@tmpstack}%
    \cref@isstackfull{\@tmpstack}}%
    \@ifundefined{cref@subsection@name}{%
      \let\cref@subsection@name\cref@section@name%
      \let\cref@subsection@name@plural\cref@section@name@plural}{}%
    \@ifundefined{Cref@subsection@name}{%
      \let\Cref@subsection@name\Cref@section@name%
      \let\Cref@subsection@name@plural\Cref@section@name@plural}{}%
    \@ifundefined{cref@subsection@format}{%
      \let\cref@subsection@format\cref@section@format}{}%
    \@ifundefined{Cref@subsection@format}{%
      \let\Cref@subsection@format\Cref@section@format}{}%
    \@ifundefined{crefrange@subsection@format}{%
      \let\crefrange@subsection@format%
      \crefrange@section@format}{}%
    \@ifundefined{Crefrange@subsection@format}{%
      \let\Crefrange@subsection@format%
      \Crefrange@section@format}{}%
    \@ifundefined{cref@subsection@format@first}{%
      \let\cref@subsection@format@first%
      \cref@section@format@first}{}%
    \@ifundefined{Cref@subsection@format@first}{%
      \let\Cref@subsection@format@first%
      \Cref@section@format@first}{}%
    \@ifundefined{cref@subsection@format@second}{%
      \let\cref@subsection@format@second%
      \cref@section@format@second}{}%
    \@ifundefined{Cref@subsection@format@second}{%
      \let\Cref@subsection@format@second%
      \Cref@section@format@second}{}%
    \@ifundefined{cref@subsection@format@middle}{%
      \let\cref@subsection@format@middle%
      \cref@section@format@middle}{}%
    \@ifundefined{Cref@subsection@format@middle}{%
      \let\Cref@subsection@format@middle%
      \Cref@section@format@middle}{}%
    \@ifundefined{cref@subsection@format@last}{%
      \let\cref@subsection@format@last%
      \cref@section@format@last}{}%
    \@ifundefined{Cref@subsection@format@last}{%
      \let\Cref@subsection@format@last%
      \Cref@section@format@last}{}%
    \@ifundefined{crefrange@subsection@format@first}{%
      \let\crefrange@subsection@format@first%
      \crefrange@section@format@first}{}%
    \@ifundefined{Crefrange@subsection@format@first}{%
      \let\Crefrange@subsection@format@first%
      \Crefrange@section@format@first}{}%
    \@ifundefined{crefrange@subsection@format@second}{%
      \let\crefrange@subsection@format@second%
      \crefrange@section@format@second}{}%
    \@ifundefined{Crefrange@subsection@format@second}{%
      \let\Crefrange@subsection@format@second%
      \Crefrange@section@format@second}{}%
    \@ifundefined{crefrange@subsection@format@middle}{%
      \let\crefrange@subsection@format@middle%
      \crefrange@section@format@middle}{}%
    \@ifundefined{Crefrange@subsection@format@middle}{%
      \let\Crefrange@subsection@format@middle%
      \Crefrange@section@format@middle}{}%
    \@ifundefined{crefrange@subsection@format@last}{%
      \let\crefrange@subsection@format@last%
      \crefrange@section@format@last}{}%
    \@ifundefined{Crefrange@subsection@format@last}{%
      \let\Crefrange@subsection@format@last%
      \Crefrange@section@format@last}{}%
    \@ifundefined{cref@subsubsection@name}{%
      \let\cref@subsubsection@name\cref@section@name%
      \let\cref@subsubsection@name@plural\cref@section@name@plural}{}%
    \@ifundefined{Cref@subsection@name}{%
      \let\Cref@subsection@name\Cref@section@name%
      \let\Cref@subsection@name@plural\Cref@section@name@plural}{}%
    \@ifundefined{cref@subsubsection@format}{%
      \let\cref@subsubsection@format%
      \cref@subsection@format}{}%
    \@ifundefined{Cref@subsubsection@format}{%
      \let\Cref@subsubsection@format%
      \Cref@subsection@format}{}%
    \@ifundefined{crefrange@subsubsection@format}{%
      \let\crefrange@subsubsection@format%
      \crefrange@subsection@format}{}%
    \@ifundefined{Crefrange@subsubsection@format}{%
      \let\Crefrange@subsubsection@format%
      \Crefrange@subsection@format}{}%
    \@ifundefined{cref@subsubsection@format@first}{%
      \let\cref@subsubsection@format@first%
      \cref@subsection@format@first}{}%
    \@ifundefined{Cref@subsubsection@format@first}{%
      \let\Cref@subsubsection@format@first%
      \Cref@subsection@format@first}{}%
    \@ifundefined{cref@subsubsection@format@second}{%
      \let\cref@subsubsection@format@second%
      \cref@subsection@format@second}{}%
    \@ifundefined{Cref@subsubsection@format@second}{%
      \let\Cref@subsubsection@format@second%
      \Cref@subsection@format@second}{}%
    \@ifundefined{cref@subsubsection@format@middle}{%
      \let\cref@subsubsection@format@middle%
      \cref@subsection@format@middle}{}%
    \@ifundefined{Cref@subsubsection@format@middle}{%
      \let\Cref@subsubsection@format@middle%
      \Cref@subsection@format@middle}{}%
    \@ifundefined{cref@subsubsection@format@last}{%
      \let\cref@subsubsection@format@last%
      \cref@subsection@format@last}{}%
    \@ifundefined{Cref@subsubsection@format@last}{%
      \let\Cref@subsubsection@format@last%
      \Cref@subsection@format@last}{}%
    \@ifundefined{crefrange@subsubsection@format@first}{%
      \let\crefrange@subsubsection@format@first%
      \crefrange@subsection@format@first}{}%
    \@ifundefined{Crefrange@subsubsection@format@first}{%
      \let\Crefrange@subsubsection@format@first%
      \Crefrange@subsection@format@first}{}%
    \@ifundefined{crefrange@subsubsection@format@second}{%
      \let\crefrange@subsubsection@format@second%
      \crefrange@subsection@format@second}{}%
    \@ifundefined{Crefrange@subsubsection@format@second}{%
      \let\Crefrange@subsubsection@format@second%
      \Crefrange@subsection@format@second}{}%
    \@ifundefined{crefrange@subsubsection@format@middle}{%
      \let\crefrange@subsubsection@format@middle%
      \crefrange@subsection@format@middle}{}%
    \@ifundefined{Crefrange@subsubsection@format@middle}{%
      \let\Crefrange@subsubsection@format@middle%
      \Crefrange@subsection@format@middle}{}%
    \@ifundefined{crefrange@subsubsection@format@last}{%
      \let\crefrange@subsubsection@format@last%
      \crefrange@subsection@format@last}{}%
    \@ifundefined{Crefrange@subsubsection@format@last}{%
      \let\Crefrange@subsubsection@format@last%
      \Crefrange@subsection@format@last}{}%
    \@ifundefined{cref@subappendix@name}{%
      \let\cref@subappendix@name\cref@appendix@name%
      \let\cref@subappendix@name@plural%
        \cref@appendix@name@plural}{}%
    \@ifundefined{Cref@subappendix@name}{%
      \let\Cref@subappendix@name\Cref@section@name%
      \let\Cref@subappendixsection@name@plural%
        \Cref@appendix@name@plural}{}%
    \@ifundefined{cref@subappendix@format}{%
      \let\cref@subappendix@format\cref@appendix@format}{}%
    \@ifundefined{Cref@subappendix@format}{%
      \let\Cref@subappendix@format\Cref@appendix@format}{}%
    \@ifundefined{crefrange@subappendix@format}{%
      \let\crefrange@subappendix@format%
      \crefrange@appendix@format}{}%
    \@ifundefined{Crefrange@subappendix@format}{%
      \let\Crefrange@subappendix@format%
      \Crefrange@appendix@format}{}%
    \@ifundefined{cref@subappendix@format@first}{%
      \let\cref@subappendix@format@first%
      \cref@appendix@format@first}{}%
    \@ifundefined{Cref@subappendix@format@first}{%
      \let\Cref@subappendix@format@first%
      \Cref@appendix@format@first}{}%
    \@ifundefined{cref@subappendix@format@second}{%
      \let\cref@subappendix@format@second%
      \cref@appendix@format@second}{}%
    \@ifundefined{Cref@subappendix@format@second}{%
      \let\Cref@subappendix@format@second%
      \Cref@appendix@format@second}{}%
    \@ifundefined{cref@subappendix@format@middle}{%
      \let\cref@subappendix@format@middle%
      \cref@appendix@format@middle}{}%
    \@ifundefined{Cref@subappendix@format@middle}{%
      \let\Cref@subappendix@format@middle%
      \Cref@appendix@format@middle}{}%
    \@ifundefined{cref@subappendix@format@last}{%
      \let\cref@subappendix@format@last%
      \cref@appendix@format@last}{}%
    \@ifundefined{Cref@subappendix@format@last}{%
      \let\Cref@subappendix@format@last%
      \Cref@appendix@format@last}{}%
    \@ifundefined{crefrange@subappendix@format@first}{%
      \let\crefrange@subappendix@format@first%
      \crefrange@appendix@format@first}{}%
    \@ifundefined{Crefrange@subappendix@format@first}{%
      \let\Crefrange@subappendix@format@first%
      \Crefrange@appendix@format@first}{}%
    \@ifundefined{crefrange@subappendix@format@second}{%
      \let\crefrange@subappendix@format@second%
      \crefrange@appendix@format@second}{}%
    \@ifundefined{Crefrange@subappendix@format@second}{%
      \let\Crefrange@subappendix@format@second%
      \Crefrange@appendix@format@second}{}%
    \@ifundefined{crefrange@subappendix@format@middle}{%
      \let\crefrange@subappendix@format@middle%
      \crefrange@appendix@format@middle}{}%
    \@ifundefined{Crefrange@subappendix@format@middle}{%
      \let\Crefrange@subappendix@format@middle%
      \Crefrange@appendix@format@middle}{}%
    \@ifundefined{crefrange@subappendix@format@last}{%
      \let\crefrange@subappendix@format@last%
      \crefrange@appendix@format@last}{}%
    \@ifundefined{Crefrange@subappendix@format@last}{%
      \let\Crefrange@subappendix@format@last%
      \Crefrange@appendix@format@last}{}%
    \@ifundefined{cref@subsubappendix@name}{%
      \let\cref@subsubappendix@name\cref@appendix@name%
      \let\cref@subsubappendix@name@plural%
        \cref@appendix@name@plural}{}%
    \@ifundefined{Cref@subsubappendix@name}{%
      \let\Cref@subsubappendix@name\Cref@section@name%
      \let\Cref@subsubappendixsection@name@plural%
        \Cref@appendix@name@plural}{}%
    \@ifundefined{cref@subsubappendix@format}{%
      \let\cref@subsubappendix@format%
      \cref@subappendix@format}{}%
    \@ifundefined{Cref@subsubappendix@format}{%
      \let\Cref@subsubappendix@format%
      \Cref@subappendix@format}{}%
    \@ifundefined{crefrange@subsubappendix@format}{%
      \let\crefrange@subsubappendix@format%
      \crefrange@subappendix@format}{}%
    \@ifundefined{Crefrange@subsubappendix@format}{%
      \let\Crefrange@subsubappendix@format%
      \Crefrange@subappendix@format}{}%
    \@ifundefined{cref@subsubappendix@format@first}{%
      \let\cref@subsubappendix@format@first%
      \cref@subappendix@format@first}{}%
    \@ifundefined{Cref@subsubappendix@format@first}{%
      \let\Cref@subsubappendix@format@first%
      \Cref@subappendix@format@first}{}%
    \@ifundefined{cref@subsubappendix@format@second}{%
      \let\cref@subsubappendix@format@second%
      \cref@subappendix@format@second}{}%
    \@ifundefined{Cref@subsubappendix@format@second}{%
      \let\Cref@subsubappendix@format@second%
      \Cref@subappendix@format@second}{}%
    \@ifundefined{cref@subsubappendix@format@middle}{%
      \let\cref@subsubappendix@format@middle%
      \cref@subappendix@format@middle}{}%
    \@ifundefined{Cref@subsubappendix@format@middle}{%
      \let\Cref@subsubappendix@format@middle%
      \Cref@subappendix@format@middle}{}%
    \@ifundefined{cref@subsubappendix@format@last}{%
      \let\cref@subsubappendix@format@last%
      \cref@subappendix@format@last}{}%
    \@ifundefined{Cref@subsubappendix@format@last}{%
      \let\Cref@subsubappendix@format@last%
      \Cref@subappendix@format@last}{}%
    \@ifundefined{crefrange@subsubappendix@format@first}{%
      \let\crefrange@subsubappendix@format@first%
      \crefrange@subappendix@format@first}{}%
    \@ifundefined{Crefrange@subsubappendix@format@first}{%
      \let\Crefrange@subsubappendix@format@first%
      \Crefrange@subappendix@format@first}{}%
    \@ifundefined{crefrange@subsubappendix@format@second}{%
      \let\crefrange@subsubappendix@format@second%
      \crefrange@subappendix@format@second}{}%
    \@ifundefined{Crefrange@subsubappendix@format@second}{%
      \let\Crefrange@subsubappendix@format@second%
      \Crefrange@subappendix@format@second}{}%
    \@ifundefined{crefrange@subsubappendix@format@middle}{%
      \let\crefrange@subsubappendix@format@middle%
      \crefrange@subappendix@format@middle}{}%
    \@ifundefined{Crefrange@subsubappendix@format@middle}{%
      \let\Crefrange@subsubappendix@format@middle%
      \Crefrange@subappendix@format@middle}{}%
    \@ifundefined{crefrange@subsubappendix@format@last}{%
      \let\crefrange@subsubappendix@format@last%
      \crefrange@subappendix@format@last}{}%
    \@ifundefined{Crefrange@subsubappendix@format@last}{%
      \let\Crefrange@subsubappendix@format@last%
      \Crefrange@subappendix@format@last}{}%
    \@ifundefined{cref@subsubsubappendix@format}{%
      \let\cref@subsubsubappendix@format%
      \cref@subsubappendix@format}{}%
    \@ifundefined{Cref@subsubsubappendix@format}{%
      \let\Cref@subsubsubappendix@format%
      \Cref@subsubappendix@format}{}%
    \@ifundefined{crefrange@subsubsubappendix@format}{%
      \let\crefrange@subsubsubappendix@format%
      \crefrange@subsubappendix@format}{}%
    \@ifundefined{Crefrange@subsubsubappendix@format}{%
      \let\Crefrange@subsubsubappendix@format%
      \Crefrange@subsubappendix@format}{}%
    \@ifundefined{cref@subsubsubappendix@format@first}{%
      \let\cref@subsubsubappendix@format@first%
      \cref@subsubappendix@format@first}{}%
    \@ifundefined{Cref@subsubsubappendix@format@first}{%
      \let\Cref@subsubsubappendix@format@first%
      \Cref@subsubappendix@format@first}{}%
    \@ifundefined{cref@subsubsubappendix@format@second}{%
      \let\cref@subsubsubappendix@format@second%
      \cref@subsubappendix@format@second}{}%
    \@ifundefined{Cref@subsubsubappendix@format@second}{%
      \let\Cref@subsubsubappendix@format@second%
      \Cref@subsubappendix@format@second}{}%
    \@ifundefined{cref@subsubsubappendix@format@middle}{%
      \let\cref@subsubsubappendix@format@middle%
      \cref@subsubappendix@format@middle}{}%
    \@ifundefined{Cref@subsubsubappendix@format@middle}{%
      \let\Cref@subsubsubappendix@format@middle%
      \Cref@subsubappendix@format@middle}{}%
    \@ifundefined{cref@subsubsubappendix@format@last}{%
      \let\cref@subsubsubappendix@format@last%
      \cref@subsubappendix@format@last}{}%
    \@ifundefined{Cref@subsubsubappendix@format@last}{%
      \let\Cref@subsubsubappendix@format@last%
      \Cref@subsubappendix@format@last}{}%
    \@ifundefined{crefrange@subsubsubappendix@format@first}{%
      \let\crefrange@subsubsubappendix@format@first%
      \crefrange@subsubappendix@format@first}{}%
    \@ifundefined{Crefrange@subsubsubappendix@format@first}{%
      \let\Crefrange@subsubsubappendix@format@first%
      \Crefrange@subsubappendix@format@first}{}%
    \@ifundefined{crefrange@subsubsubappendix@format@second}{%
      \let\crefrange@subsubsubappendix@format@second%
      \crefrange@subsubappendix@format@second}{}%
    \@ifundefined{Crefrange@subsubsubappendix@format@second}{%
      \let\Crefrange@subsubsubappendix@format@second%
      \Crefrange@subsubappendix@format@second}{}%
    \@ifundefined{crefrange@subsubsubappendix@format@middle}{%
      \let\crefrange@subsubsubappendix@format@middle%
      \crefrange@subsubappendix@format@middle}{}%
    \@ifundefined{Crefrange@subsubsubappendix@format@middle}{%
      \let\Crefrange@subsubsubappendix@format@middle%
      \Crefrange@subsubappendix@format@middle}{}%
    \@ifundefined{crefrange@subsubsubappendix@format@last}{%
      \let\crefrange@subsubsubappendix@format@last%
      \crefrange@subsubappendix@format@last}{}%
    \@ifundefined{Crefrange@subsubsubappendix@format@last}{%
      \let\Crefrange@subsubsubappendix@format@last%
      \Crefrange@subsubappendix@format@last}{}%
    \@ifundefined{cref@subfigure@format}{%
      \let\cref@subfigure@format%
      \cref@figure@format}{}%
    \@ifundefined{Cref@subfigure@format}{%
      \let\Cref@subfigure@format%
      \Cref@figure@format}{}%
    \@ifundefined{crefrange@subfigure@format}{%
      \let\crefrange@subfigure@format%
      \crefrange@figure@format}{}%
    \@ifundefined{Crefrange@subfigure@format}{%
      \let\Crefrange@subfigure@format%
      \Crefrange@figure@format}{}%
    \@ifundefined{cref@subfigure@format@first}{%
      \let\cref@subfigure@format@first%
      \cref@figure@format@first}{}%
    \@ifundefined{Cref@subfigure@format@first}{%
      \let\Cref@subfigure@format@first%
      \Cref@figure@format@first}{}%
    \@ifundefined{cref@subfigure@format@second}{%
      \let\cref@subfigure@format@second%
      \cref@figure@format@second}{}%
    \@ifundefined{Cref@subfigure@format@second}{%
      \let\Cref@subfigure@format@second%
      \Cref@figure@format@second}{}%
    \@ifundefined{cref@subfigure@format@middle}{%
      \let\cref@subfigure@format@middle%
      \cref@figure@format@middle}{}%
    \@ifundefined{Cref@subfigure@format@middle}{%
      \let\Cref@subfigure@format@middle%
      \Cref@figure@format@middle}{}%
    \@ifundefined{cref@subfigure@format@last}{%
      \let\cref@subfigure@format@last%
      \cref@figure@format@last}{}%
    \@ifundefined{Cref@subfigure@format@last}{%
      \let\Cref@subfigure@format@last%
      \Cref@figure@format@last}{}%
    \@ifundefined{crefrange@subfigure@format@first}{%
      \let\crefrange@subfigure@format@first%
      \crefrange@figure@format@first}{}%
    \@ifundefined{Crefrange@subfigure@format@first}{%
      \let\Crefrange@subfigure@format@first%
      \Crefrange@figure@format@first}{}%
    \@ifundefined{crefrange@subfigure@format@second}{%
      \let\crefrange@subfigure@format@second%
      \crefrange@figure@format@second}{}%
    \@ifundefined{Crefrange@subfigure@format@second}{%
      \let\Crefrange@subfigure@format@second%
      \Crefrange@figure@format@second}{}%
    \@ifundefined{crefrange@subfigure@format@middle}{%
      \let\crefrange@subfigure@format@middle%
      \crefrange@figure@format@middle}{}%
    \@ifundefined{Crefrange@subfigure@format@middle}{%
      \let\Crefrange@subfigure@format@middle%
      \Crefrange@figure@format@middle}{}%
    \@ifundefined{crefrange@subfigure@format@last}{%
      \let\crefrange@subfigure@format@last%
      \crefrange@figure@format@last}{}%
    \@ifundefined{Crefrange@subfigure@format@last}{%
      \let\Crefrange@subfigure@format@last%
      \Crefrange@figure@format@last}{}%
    \@ifundefined{cref@subtable@format}{%
      \let\cref@subtable@format%
      \cref@table@format}{}%
    \@ifundefined{Cref@subtable@format}{%
      \let\Cref@subtable@format%
      \Cref@table@format}{}%
    \@ifundefined{crefrange@subtable@format}{%
      \let\crefrange@subtable@format%
      \crefrange@table@format}{}%
    \@ifundefined{Crefrange@subtable@format}{%
      \let\Crefrange@subtable@format%
      \Crefrange@table@format}{}%
    \@ifundefined{cref@subtable@format@first}{%
      \let\cref@subtable@format@first%
      \cref@table@format@first}{}%
    \@ifundefined{Cref@subtable@format@first}{%
      \let\Cref@subtable@format@first%
      \Cref@table@format@first}{}%
    \@ifundefined{cref@subtable@format@second}{%
      \let\cref@subtable@format@second%
      \cref@table@format@second}{}%
    \@ifundefined{Cref@subtable@format@second}{%
      \let\Cref@subtable@format@second%
      \Cref@table@format@second}{}%
    \@ifundefined{cref@subtable@format@middle}{%
      \let\cref@subtable@format@middle%
      \cref@table@format@middle}{}%
    \@ifundefined{Cref@subtable@format@middle}{%
      \let\Cref@subtable@format@middle%
      \Cref@table@format@middle}{}%
    \@ifundefined{cref@subtable@format@last}{%
      \let\cref@subtable@format@last%
      \cref@table@format@last}{}%
    \@ifundefined{Cref@subtable@format@last}{%
      \let\Cref@subtable@format@last%
      \Cref@table@format@last}{}%
    \@ifundefined{crefrange@subtable@format@first}{%
      \let\crefrange@subtable@format@first%
      \crefrange@table@format@first}{}%
    \@ifundefined{Crefrange@subtable@format@first}{%
      \let\Crefrange@subtable@format@first%
      \Crefrange@table@format@first}{}%
    \@ifundefined{crefrange@subtable@format@second}{%
      \let\crefrange@subtable@format@second%
      \crefrange@table@format@second}{}%
    \@ifundefined{Crefrange@subtable@format@second}{%
      \let\Crefrange@subtable@format@second%
      \Crefrange@table@format@second}{}%
    \@ifundefined{crefrange@subtable@format@middle}{%
      \let\crefrange@subtable@format@middle%
      \crefrange@table@format@middle}{}%
    \@ifundefined{Crefrange@subtable@format@middle}{%
      \let\Crefrange@subtable@format@middle%
      \Crefrange@table@format@middle}{}%
    \@ifundefined{crefrange@subtable@format@last}{%
      \let\crefrange@subtable@format@last%
      \crefrange@table@format@last}{}%
    \@ifundefined{Crefrange@subtable@format@last}{%
      \let\Crefrange@subtable@format@last%
      \Crefrange@table@format@last}{}%
    \@ifundefined{cref@enumii@format}{%
      \let\cref@enumii@format%
      \cref@enumi@format}{}%
    \@ifundefined{Cref@enumii@format}{%
      \let\Cref@enumii@format%
      \Cref@enumi@format}{}%
    \@ifundefined{crefrange@enumii@format}{%
      \let\crefrange@enumii@format%
      \crefrange@enumi@format}{}%
    \@ifundefined{Crefrange@enumii@format}{%
      \let\Crefrange@enumii@format%
      \Crefrange@enumi@format}{}%
    \@ifundefined{cref@enumii@format@first}{%
      \let\cref@enumii@format@first%
      \cref@enumi@format@first}{}%
    \@ifundefined{Cref@enumii@format@first}{%
      \let\Cref@enumii@format@first%
      \Cref@enumi@format@first}{}%
    \@ifundefined{cref@enumii@format@second}{%
      \let\cref@enumii@format@second%
      \cref@enumi@format@second}{}%
    \@ifundefined{Cref@enumii@format@second}{%
      \let\Cref@enumii@format@second%
      \Cref@enumi@format@second}{}%
    \@ifundefined{cref@enumii@format@middle}{%
      \let\cref@enumii@format@middle%
      \cref@enumi@format@middle}{}%
    \@ifundefined{Cref@enumii@format@middle}{%
      \let\Cref@enumii@format@middle%
      \Cref@enumi@format@middle}{}%
    \@ifundefined{cref@enumii@format@last}{%
      \let\cref@enumii@format@last%
      \cref@enumi@format@last}{}%
    \@ifundefined{Cref@enumii@format@last}{%
      \let\Cref@enumii@format@last%
      \Cref@enumi@format@last}{}%
    \@ifundefined{crefrange@enumii@format@first}{%
      \let\crefrange@enumii@format@first%
      \crefrange@enumi@format@first}{}%
    \@ifundefined{Crefrange@enumii@format@first}{%
      \let\Crefrange@enumii@format@first%
      \Crefrange@enumi@format@first}{}%
    \@ifundefined{crefrange@enumii@format@second}{%
      \let\crefrange@enumii@format@second%
      \crefrange@enumi@format@second}{}%
    \@ifundefined{Crefrange@enumii@format@second}{%
      \let\Crefrange@enumii@format@second%
      \Crefrange@enumi@format@second}{}%
    \@ifundefined{crefrange@enumii@format@middle}{%
      \let\crefrange@enumii@format@middle%
      \crefrange@enumi@format@middle}{}%
    \@ifundefined{Crefrange@enumii@format@middle}{%
      \let\Crefrange@enumii@format@middle%
      \Crefrange@enumi@format@middle}{}%
    \@ifundefined{crefrange@enumii@format@last}{%
      \let\crefrange@enumii@format@last%
      \crefrange@enumi@format@last}{}%
    \@ifundefined{Crefrange@enumii@format@last}{%
      \let\Crefrange@enumii@format@last%
      \Crefrange@enumi@format@last}{}%
    \@ifundefined{cref@enumiii@format}{%
      \let\cref@enumiii@format%
      \cref@enumii@format}{}%
    \@ifundefined{Cref@enumiii@format}{%
      \let\Cref@enumiii@format%
      \Cref@enumii@format}{}%
    \@ifundefined{crefrange@enumiii@format}{%
      \let\crefrange@enumiii@format%
      \crefrange@enumii@format}{}%
    \@ifundefined{Crefrange@enumiii@format}{%
      \let\Crefrange@enumiii@format%
      \Crefrange@enumii@format}{}%
    \@ifundefined{cref@enumiii@format@first}{%
      \let\cref@enumiii@format@first%
      \cref@enumii@format@first}{}%
    \@ifundefined{Cref@enumiii@format@first}{%
      \let\Cref@enumiii@format@first%
      \Cref@enumii@format@first}{}%
    \@ifundefined{cref@enumiii@format@second}{%
      \let\cref@enumiii@format@second%
      \cref@enumii@format@second}{}%
    \@ifundefined{Cref@enumiii@format@second}{%
      \let\Cref@enumiii@format@second%
      \Cref@enumii@format@second}{}%
    \@ifundefined{cref@enumiii@format@middle}{%
      \let\cref@enumiii@format@middle%
      \cref@enumii@format@middle}{}%
    \@ifundefined{Cref@enumiii@format@middle}{%
      \let\Cref@enumiii@format@middle%
      \Cref@enumii@format@middle}{}%
    \@ifundefined{cref@enumiii@format@last}{%
      \let\cref@enumiii@format@last%
      \cref@enumii@format@last}{}%
    \@ifundefined{Cref@enumiii@format@last}{%
      \let\Cref@enumiii@format@last%
      \Cref@enumii@format@last}{}%
    \@ifundefined{crefrange@enumiii@format@first}{%
      \let\crefrange@enumiii@format@first%
      \crefrange@enumii@format@first}{}%
    \@ifundefined{Crefrange@enumiii@format@first}{%
      \let\Crefrange@enumiii@format@first%
      \Crefrange@enumii@format@first}{}%
    \@ifundefined{crefrange@enumiii@format@second}{%
      \let\crefrange@enumiii@format@second%
      \crefrange@enumii@format@second}{}%
    \@ifundefined{Crefrange@enumiii@format@second}{%
      \let\Crefrange@enumiii@format@second%
      \Crefrange@enumii@format@second}{}%
    \@ifundefined{crefrange@enumiii@format@middle}{%
      \let\crefrange@enumiii@format@middle%
      \crefrange@enumii@format@middle}{}%
    \@ifundefined{Crefrange@enumiii@format@middle}{%
      \let\Crefrange@enumiii@format@middle%
      \Crefrange@enumii@format@middle}{}%
    \@ifundefined{crefrange@enumiii@format@last}{%
      \let\crefrange@enumiii@format@last%
      \crefrange@enumii@format@last}{}%
    \@ifundefined{Crefrange@enumiii@format@last}{%
      \let\Crefrange@enumiii@format@last%
      \Crefrange@enumii@format@last}{}%
    \@ifundefined{cref@enumiv@format}{%
      \let\cref@enumiv@format%
      \cref@enumiii@format}{}%
    \@ifundefined{Cref@enumiv@format}{%
      \let\Cref@enumiv@format%
      \Cref@enumiii@format}{}%
    \@ifundefined{crefrange@enumiv@format}{%
      \let\crefrange@enumiv@format%
      \crefrange@enumiii@format}{}%
    \@ifundefined{Crefrange@enumiv@format}{%
      \let\Crefrange@enumiv@format%
      \Crefrange@enumiii@format}{}%
    \@ifundefined{cref@enumiv@format@first}{%
      \let\cref@enumiv@format@first%
      \cref@enumiii@format@first}{}%
    \@ifundefined{Cref@enumiv@format@first}{%
      \let\Cref@enumiv@format@first%
      \Cref@enumiii@format@first}{}%
    \@ifundefined{cref@enumiv@format@second}{%
      \let\cref@enumiv@format@second%
      \cref@enumiii@format@second}{}%
    \@ifundefined{Cref@enumiv@format@second}{%
      \let\Cref@enumiv@format@second%
      \Cref@enumiii@format@second}{}%
    \@ifundefined{cref@enumiv@format@middle}{%
      \let\cref@enumiv@format@middle%
      \cref@enumiii@format@middle}{}%
    \@ifundefined{Cref@enumiv@format@middle}{%
      \let\Cref@enumiv@format@middle%
      \Cref@enumiii@format@middle}{}%
    \@ifundefined{cref@enumiv@format@last}{%
      \let\cref@enumiv@format@last%
      \cref@enumiii@format@last}{}%
    \@ifundefined{Cref@enumiv@format@last}{%
      \let\Cref@enumiv@format@last%
      \Cref@enumiii@format@last}{}%
    \@ifundefined{crefrange@enumiv@format@first}{%
      \let\crefrange@enumiv@format@first%
      \crefrange@enumiii@format@first}{}%
    \@ifundefined{Crefrange@enumiv@format@first}{%
      \let\Crefrange@enumiv@format@first%
      \Crefrange@enumiii@format@first}{}%
    \@ifundefined{crefrange@enumiv@format@second}{%
      \let\crefrange@enumiv@format@second%
      \crefrange@enumiii@format@second}{}%
    \@ifundefined{Crefrange@enumiv@format@second}{%
      \let\Crefrange@enumiv@format@second%
      \Crefrange@enumiii@format@second}{}%
    \@ifundefined{crefrange@enumiv@format@middle}{%
      \let\crefrange@enumiv@format@middle%
      \crefrange@enumiii@format@middle}{}%
    \@ifundefined{Crefrange@enumiv@format@middle}{%
      \let\Crefrange@enumiv@format@middle%
      \Crefrange@enumiii@format@middle}{}%
    \@ifundefined{crefrange@enumiv@format@last}{%
      \let\crefrange@enumiv@format@last%
      \crefrange@enumiii@format@last}{}%
    \@ifundefined{Crefrange@enumiv@format@last}{%
      \let\Crefrange@enumiv@format@last%
      \Crefrange@enumiii@format@last}{}%
    \@ifundefined{cref@enumv@format}{%
      \let\cref@enumv@format%
      \cref@enumiv@format}{}%
    \@ifundefined{Cref@enumv@format}{%
      \let\Cref@enumv@format%
      \Cref@enumiv@format}{}%
    \@ifundefined{crefrange@enumv@format}{%
      \let\crefrange@enumv@format%
      \crefrange@enumiv@format}{}%
    \@ifundefined{Crefrange@enumv@format}{%
      \let\Crefrange@enumv@format%
      \Crefrange@enumiv@format}{}%
    \@ifundefined{cref@enumv@format@first}{%
      \let\cref@enumv@format@first%
      \cref@enumiv@format@first}{}%
    \@ifundefined{Cref@enumv@format@first}{%
      \let\Cref@enumv@format@first%
      \Cref@enumiv@format@first}{}%
    \@ifundefined{cref@enumv@format@second}{%
      \let\cref@enumv@format@second%
      \cref@enumiv@format@second}{}%
    \@ifundefined{Cref@enumv@format@second}{%
      \let\Cref@enumv@format@second%
      \Cref@enumiv@format@second}{}%
    \@ifundefined{cref@enumv@format@middle}{%
      \let\cref@enumv@format@middle%
      \cref@enumiv@format@middle}{}%
    \@ifundefined{Cref@enumv@format@middle}{%
      \let\Cref@enumv@format@middle%
      \Cref@enumiv@format@middle}{}%
    \@ifundefined{cref@enumv@format@last}{%
      \let\cref@enumv@format@last%
      \cref@enumiv@format@last}{}%
    \@ifundefined{Cref@enumv@format@last}{%
      \let\Cref@enumv@format@last%
      \Cref@enumiv@format@last}{}%
    \@ifundefined{crefrange@enumv@format@first}{%
      \let\crefrange@enumv@format@first%
      \crefrange@enumiv@format@first}{}%
    \@ifundefined{Crefrange@enumv@format@first}{%
      \let\Crefrange@enumv@format@first%
      \Crefrange@enumiv@format@first}{}%
    \@ifundefined{crefrange@enumv@format@second}{%
      \let\crefrange@enumv@format@second%
      \crefrange@enumiv@format@second}{}%
    \@ifundefined{Crefrange@enumv@format@second}{%
      \let\Crefrange@enumv@format@second%
      \Crefrange@enumiv@format@second}{}%
    \@ifundefined{crefrange@enumv@format@middle}{%
      \let\crefrange@enumv@format@middle%
      \crefrange@enumiv@format@middle}{}%
    \@ifundefined{Crefrange@enumv@format@middle}{%
      \let\Crefrange@enumv@format@middle%
      \Crefrange@enumiv@format@middle}{}%
    \@ifundefined{crefrange@enumv@format@last}{%
      \let\crefrange@enumv@format@last%
      \crefrange@enumiv@format@last}{}%
    \@ifundefined{Crefrange@enumv@format@last}{%
      \let\Crefrange@enumv@format@last%
      \Crefrange@enumiv@format@last}{}%
  \let\cref@language\relax%
}%  end of \AtBeginDocument
\endinput
%%
%% End of file `cleveref.sty'.
